0
2
テーマ、知りたいこと
アンケートみたいな感じです。
PHPやPythonではデフォルトで public なので省略できますが、JavaやC#では省略できませんよね?
では、みなさんどちらがお好みですか?
また、どちらのルールが多かったですか?
- 省略可能な言語では常に省略する
- 常に記述する
背景、状況
自分の趣味開発でどうしようか悩んでいるために生じた疑問です。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答10件
#1
総合スコア117073
投稿2023/05/18 04:54
あくまで個人環境として、PHPですが、可能な限り書くようにしています。
ただ質問板などの回答する場合などはなるべく簡素化した方が見やすくなるので、あえて書かないこともあります
PHPの公式マニュアルのサンプルもコンストラクタ(デコンストラクタ)などはpublicをつけたりつけなかったり統一されていませんね。
#2
退会済みユーザー
総合スコア0
投稿2023/05/18 04:56
省略しないのが常識。議論する対象じゃない。
一般的なコーディング規約で決まっている。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#3
総合スコア146262
投稿2023/05/18 05:06
編集2023/05/18 05:11補足にはなりますが、JavaScriptなど「そもそもpublic
と書くことができない(#
で始めたものがprivate
扱いとなる)」言語もあります。
また、C++ではpublic
やprivate
はメソッドに対して付けるのではなく、これから宣言されるメソッドの性質を設定するモード切替となっています。
Rubyではpublic
やprivate
自体もメソッドなので、動的に設定することすら可能です。
…というように、言語が違えば文法や機能性が異なる分野ですので、言語を決めずに一般論を募ること自体が有意でないと感じました。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#6
退会済みユーザー
総合スコア0
投稿2023/05/18 10:15
もちろん「2. 常に記述する」です。自分的には異論は認めないというレベルの話です。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#8
総合スコア9
投稿2023/05/23 08:42
編集2023/05/23 08:43Java については,明示的にアクセス修飾をしないことにより,アクセシビリティ(アクセス制御)は「package private」になると下記のドキュメントにはあります.
参考1:https://docs.oracle.com/cd/E57014_01/core/FMWGL/glossary.htm#sthref17
参考2:https://docs.oracle.com/javase/jp/12/security/java-security-overview1.html#GUID-65C96219-B2AB-4205-808E-5B41CB2AD694
一方,C# においては,アクセス修飾の対象ごとにデフォルトのアクセシビリティが定まっており,クラスの子メンバにおいてはそれが private 相当であり,むろん public に比べ制限されるようです.
参考:http://did2.blog64.fc2.com/blog-entry-208.html
以上から,アクセス修飾子を省略可能な場合はあれども,それによって規定されるアクセスレベルは言語によってしばしば異なるので,できる限り明示的にする戦略を取った方が良いかなと思う次第です.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#9
総合スコア146262
投稿2023/05/23 09:19
逆に、Javaでpackage private
を明示する文法がないのも悩みの種です。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。