2013-11-27 51 views
2

http://docs.scala-lang.org/style/naming-conventions.html表明所有对象都是骆驼大写字母,大写首字母,除非试图模仿包或函数。但是如何模仿val什么是类实例中对象的最佳命名风格?

class MyFrame extends javax.swing.JFrame { 
    object myBox extends javax.swing.Box(javax.swing.BoxLayout.X_AXIS) { 
    object myLabel extends javax.swing.JLabel { 
     import scala.collection.JavaConverters._ 
     object myFont extends java.awt.Font(Map(java.awt.font.TextAttribute.FOREGROUND -> java.awt.Color.RED).asJava) 
     setFont(myFont) 
    } 
    add(myLabel) 
    } 
    add(myBox) 
    setSize(100, 60) 
} 
object Main { 
    def main(args: Array[String]) { 
    val myFrame = new MyFrame 
    myFrame.myBox.myLabel.setText("Hello, World!") 
    myFrame.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE) 
    myFrame.setVisible(true) 
    } 
} 

或者

class MyFrame extends javax.swing.JFrame { 
    object MyBox extends javax.swing.Box(javax.swing.BoxLayout.X_AXIS) { 
    object MyLabel extends javax.swing.JLabel { 
     import scala.collection.JavaConverters._ 
     object MyFont extends java.awt.Font(Map(java.awt.font.TextAttribute.FOREGROUND -> java.awt.Color.RED).asJava) 
     setFont(MyFont) 
    } 
    add(MyLabel) 
    } 
    add(MyBox) 
    setSize(100, 60) 
} 
object Main { 
    def main(args: Array[String]) { 
    val myFrame = new MyFrame 
    myFrame.MyBox.MyLabel.setText("Hello, World!") // Seems a bit weird to me 
    myFrame.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE) 
    myFrame.setVisible(true) 
    } 
} 

哪一个更好?

+1

由于只有两种选择,适当的形容词是“更好”,而不是“最好”。是的,英语语法是我们可以在这里... –

+1

来为斯卡拉,花15分钟提高你的英语语法知识。谢谢,@RandallSchulz。 –

回答

-2

只需将camelCase用于包对象。 用于类中嵌入对象的使用Upper camelCase。

+1

我为什么?你的陈述背后的任何推理? –

相关问题