Scalaゲッター/セッター-ベストプラクティス?

xwinus:

私はJava SE / EE開発者ですが、Scalaの初心者です。Javaでは、他のコードからアクセスできるプライベートフィールドがある場合、getX()/ setX()クラシックスタイルのゲッター/セッターを使用しますただし、Scalaについてはわかりません。Scalaでは、フィールドのゲッター/セッターの命名規則は、フィールドの名前と同じ名前を使用することに気づきました。それで、単純にフィールドを設定してもいいですpublicか、それともこのスタイルのゲッター/セッターを使用する必要がありますか?:

private var _value = .....
def value = _value
def value_= (newVal:Int) = _value = newVal

フィールド名自体の前に下線を付けることは(スカラ命名規則に従って)いいですか?

ありがとうございました。

クリスK:

Scalaのスタイルガイドは非常にうまく、これをカバーしています。

プロパティのアクセサの場合、メソッドの名前はプロパティの名前にする必要があります。

ScalaはJavaの規則に従っていません。Scalaは、呼び出し元がフィールドアクセスとメソッド呼び出しの違いを認識できないようにする必要があるという見方を促進します。つまり、規則は、両方に同じ名前を付けることです。したがって、フィールドをメソッドに変更した場合、またはその逆の場合に必要なコード変更の量を減らすことができます。

フィールド名自体の前に下線を付けることは(スカラ命名規則に従って)いいですか?

Scalaの規則は、プライベートにしたいフィールドに接頭辞を付け、それ以外の場合はパブリックメソッドと同じ名前にするか、ゼロで後置することです。どちらの方法でもかまいません。

private var _value = .....
def value = _value
def value_= (newVal:Int) = _value = newVal

ただし、この例では、追加の行は必要ありません。規約が存在するため、この短いバージョンを使用し、後ですべての呼び出しサイトで変更を加える必要なく、必要な場合に、より明示的なバージョンに変更できます。

var value:Int = 0

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ゲッター、セッター、プロパティのベストプラクティス。JavaとC#

分類Dev

サブクラスにセッター/ゲッターを実装するためのベストプラクティス?

分類Dev

Kotlin:データクラスプライベートセッターパブリックゲッター

分類Dev

TypeScript-getOwnPropertyNames()-コンストラクタープロパティとゲッター/セッター

分類Dev

Kotlinでゲッターとプロパティ間のあいまいさ、ベストプラクティス?

分類Dev

CSSセレクターのベストプラクティス

分類Dev

VanillaJSでイベントターゲットを選択するためのベストプラクティス

分類Dev

Symfony-データベースをリセットするためのベストプラクティス

分類Dev

Scalaタイプベースの属性エクストラクタ-ゲッターのみのレンズ?

分類Dev

Javaクラスのコレクションプロパティとオブジェクトプロパティのゲッターとセッターのベストプラクティス

分類Dev

ベストプラクティスのJavaScriptデータフォーマット

分類Dev

ベストプラクティス:ネットワーク通信

分類Dev

クラスベースのvueコンポーネントプロパティ定義:コンストラクターvs.ゲッター/セッターvs.マウントされたライフサイクル

分類Dev

Javaコンストラクターと単純なセッターでのパラメーターの命名のベストプラクティス

分類Dev

データアクセスのベストプラクティス

分類Dev

リアクティブ拡張:カスタムデリゲートイベントをラップ

分類Dev

ラベルmeanを使用したテストセットターゲットエンコーディング

分類Dev

Swiftデータキャッシング-ベストプラクティス

分類Dev

JSFのベストプラクティス:モデル、アクション、ゲッター、ナビゲーション、フェーズリスナー

分類Dev

ゲッターのみのプロパティとゲッターとプライベートセッターのプロパティ

分類Dev

&&のLinuxトラップのベストプラクティス

分類Dev

ブートストラップのベストプラクティス?

分類Dev

リモートデータベースへのアクセス-ベストプラクティス

分類Dev

カスタムデリゲートとデータソースNSObjectsのベストプラクティス

分類Dev

Colabを使用したKaggleデータセットのベストプラクティス

分類Dev

Java-ゲッター、単一のゲッター、または異なる変数の複数のベストプラクティス?

分類Dev

Scala型クラスのベストプラクティス

分類Dev

子クラスのゲッターとセッター

分類Dev

Rubyのクラス変数のゲッター/セッター

Related 関連記事

  1. 1

    ゲッター、セッター、プロパティのベストプラクティス。JavaとC#

  2. 2

    サブクラスにセッター/ゲッターを実装するためのベストプラクティス?

  3. 3

    Kotlin:データクラスプライベートセッターパブリックゲッター

  4. 4

    TypeScript-getOwnPropertyNames()-コンストラクタープロパティとゲッター/セッター

  5. 5

    Kotlinでゲッターとプロパティ間のあいまいさ、ベストプラクティス?

  6. 6

    CSSセレクターのベストプラクティス

  7. 7

    VanillaJSでイベントターゲットを選択するためのベストプラクティス

  8. 8

    Symfony-データベースをリセットするためのベストプラクティス

  9. 9

    Scalaタイプベースの属性エクストラクタ-ゲッターのみのレンズ?

  10. 10

    Javaクラスのコレクションプロパティとオブジェクトプロパティのゲッターとセッターのベストプラクティス

  11. 11

    ベストプラクティスのJavaScriptデータフォーマット

  12. 12

    ベストプラクティス:ネットワーク通信

  13. 13

    クラスベースのvueコンポーネントプロパティ定義:コンストラクターvs.ゲッター/セッターvs.マウントされたライフサイクル

  14. 14

    Javaコンストラクターと単純なセッターでのパラメーターの命名のベストプラクティス

  15. 15

    データアクセスのベストプラクティス

  16. 16

    リアクティブ拡張:カスタムデリゲートイベントをラップ

  17. 17

    ラベルmeanを使用したテストセットターゲットエンコーディング

  18. 18

    Swiftデータキャッシング-ベストプラクティス

  19. 19

    JSFのベストプラクティス:モデル、アクション、ゲッター、ナビゲーション、フェーズリスナー

  20. 20

    ゲッターのみのプロパティとゲッターとプライベートセッターのプロパティ

  21. 21

    &&のLinuxトラップのベストプラクティス

  22. 22

    ブートストラップのベストプラクティス?

  23. 23

    リモートデータベースへのアクセス-ベストプラクティス

  24. 24

    カスタムデリゲートとデータソースNSObjectsのベストプラクティス

  25. 25

    Colabを使用したKaggleデータセットのベストプラクティス

  26. 26

    Java-ゲッター、単一のゲッター、または異なる変数の複数のベストプラクティス?

  27. 27

    Scala型クラスのベストプラクティス

  28. 28

    子クラスのゲッターとセッター

  29. 29

    Rubyのクラス変数のゲッター/セッター

ホットタグ

アーカイブ