2013-11-27 52 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

我爲什麼?你的陳述背後的任何推理? –

相關問題