[解決済み] 良いプログラマーのコードってどんなもの?[クローズド]
質問
私は趣味のプログラマーで(エクセルを早くするためにVBAから始めた)、VB.NET / C#.NETで仕事をしており、ADO.NETを学ぼうとしています。
プログラミングの一面で、いつも私をいらだたせるのは、「良い」とはどのようなものなのか、ということです。私はプロではないので、比較対象がほとんどありません。何がより良いプログラマーを作るのでしょうか。 それは
- 彼らは以下のことをよりよく理解しています。 オブジェクト、クラス、メソッドを をより理解しているのでしょうか?
- プログラムがより効率的か?
- プログラムのデザインは より良いドキュメント ドキュメンテーション、関数名の適切な選択 関数の名前の選択など。
別の言い方をすれば、もし私がプロのプログラマーのコードを見るとしたら、私のコードと比較して彼らのコードで最初に気づくことは何でしょうか。たとえば、私は Wrox press の 'Professional ASP.NET' のような本を読みます。その本に載っているコード例は「世界レベル」なのでしょうか?最高峰なのでしょうか?どんな一流プログラマーもそのコードを見て、良いコードだと思うでしょうか?
どのように解決するのか?
以下のリストは包括的なものではありませんが、あなたの質問を考える上で思いついたものです。
-
良いコードはよく組織化されている。 クラス内のデータや操作がうまくまとまっている。 クラス間に余計な依存関係がない。 スパゲッティのように見えることはありません。
-
良いコードコメントは、何が行われたかではなく、なぜ行われたかを説明します。 コードそのものが、何が行われたかを説明しています。 コメントの必要性は最小限であるべきです。
-
良いコードは、最も一時的なオブジェクトを除いて、意味のある命名規則を使用します。何かの名前は、いつ、どのようにオブジェクトを使用するかについて情報を提供します。
-
良いコードはよくテストされている。 テストは、コードの実行可能な仕様とその使用例として機能します。
-
良いコードとは、「賢い」ものではありません。 分かりやすく、明白な方法で物事を行います。
-
良いコードは、小さく読みやすい計算単位で開発されています。 これらの単位はコード全体で再利用されます。
まだ読んでいないのですが、このテーマで読もうと思っている本は クリーンなコード by Robert C. Martin です。
関連
-
[解決済み] メモ帳++で入力時に先頭の空白をタブに変換する。
-
[解決済み] Javascriptのファイル全体を「(function(){ ... })()」のような無名関数で囲むのは何のためでしょうか?
-
[解決済み】悪いコードを書いている人にどう言えばいい?[解決済み]
-
[解決済み] ファクトリーのようなメソッド名を付けるには?
-
[解決済み] あなたが従わざるを得なかった最も奇妙なコーディング標準ルールは何ですか?[クローズド]
-
[解決済み] Switch文のフォールスルー...許されるのか?[クローズド]
-
[解決済み] Haskellの関数合成(.)と関数応用($)イディオム:正しい使い方
-
[解決済み] メソッドの引数にbooleanを指定することはできないのでしょうか?[クローズド]
-
[解決済み] TypeScriptのInterfaceとClassのコーディングガイドラインに迷う
-
[解決済み] 列挙のための単数形か複数形か?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] メモ帳++で入力時に先頭の空白をタブに変換する。
-
[解決済み】悪いコードを書いている人にどう言えばいい?[解決済み]
-
[解決済み] pythonic way to do something N times without index variable?
-
[解決済み] ファクトリーのようなメソッド名を付けるには?
-
[解決済み] あなたが従わざるを得なかった最も奇妙なコーディング標準ルールは何ですか?[クローズド]
-
[解決済み] Switch文のフォールスルー...許されるのか?[クローズド]
-
[解決済み] メソッドの引数にbooleanを指定することはできないのでしょうか?[クローズド]
-
[解決済み] TypeScriptのInterfaceとClassのコーディングガイドラインに迷う
-
[解決済み] 列挙のための単数形か複数形か?