私たちはプロジェクトでスパルタン プログラミングを使用せざるを得ません。だから私はそれを手に入れました、それはメソッドを本当に短くし、最初に単純なケースを処理します。しかし、難読化されたCコードコンテストのようなコードの価格に本当に価値があるのでしょうか。
何かに役立つと思いますか?
私たちはプロジェクトでスパルタン プログラミングを使用せざるを得ません。だから私はそれを手に入れました、それはメソッドを本当に短くし、最初に単純なケースを処理します。しかし、難読化されたCコードコンテストのようなコードの価格に本当に価値があるのでしょうか。
何かに役立つと思いますか?
回答:
Spartanプログラミングの多くのテナントは、私にとっては良い習慣のように思えます。たとえば、メソッドを短くする、変数のスコープを最小化する、メソッドへのパラメーター数を最小化する、クラスへのメソッドを最小化するなど。これらはすべて良いことであり、まさにあなたが目指していることです。
しかし、そこのようなもの文字数を最小限に抑え、トークン数を最小限に抑え、値化本当に意味をなさないいるなど、(真剣には?)。
しかし、質素なプログラミングは単なる技術的なコーディングスタイルではありません。つまり、単一の基礎となる統一の原則-ミニマリズムと極端さを取り入れたシンプルさ-があります。
「極端にとらえられた」何かは私に警報ベルを鳴らします。
今、それは邪魔に馴染んでいるように見えました。極端なことはしていませんが、トークンの最小化ですらあります。たとえば、ファイル名ではなくfnameを使用します。たとえば、出力にはout、データ入力にはx、カウントにはn、長さにはlなどです。lxはxの長さ、lyはyの長さ、...ドリフトを取得します。
さらに、科学的なアプリケーションで大規模なデータセットを操作することが多いため、Rのインデックス機能をよく使用しています。これらのインデックスをすべて書き出すと、コードが目を痛めます。したがって、インデックスはid、または単にiになります。
さらに、R(適用ファミリー)の特定のループ構造では、適用呼び出し内での関数宣言が必要になることがよくあります。これらの場合、私は常にx、y、z、...を使用します。これらの関数は1行または2行であることが多いため、どこから来ているかが明確であり、画面が乱雑になることはありません。
完全なコードに一貫したいくつかの命名規則があり、コメントを提供して、あいまいな変数名を説明する限り、それは悪いことではありません。結局、画面上をホバリングする長いラクダの群れよりもコードが読みやすくなります。
スパルタンプログラミングの利点を説明する記事は次のとおりです
http://ssdl-wiki.cs.technion.ac.il/wiki/index.php/SendAnEmail_case_study
これは、Cのアクセントのコンパクトさです。
コードが正しくない場合、誰もそのコードを気にしません。
コードが完全でない(すべてのケースを処理する)場合は、バグがあります。
メモリまたはクロックサイクルを浪費するよりもコンパクトでない場合(コンパイラの最適化は別として)
ここでの順序が最も重要であることに注意してください。最もコンパクトなプログラムが正しいことはほとんどありません。例えば
void main() {
return 1;
}
void main(){return 1;}
うわー、私は実際にこのようにプログラムしましたが、名前があることを知りませんでした。読みやすさにはメリットがありますが、空間的にはもっと便利です。つまり、読みにくい行がいくつかあっても、コードのスープで迷子になることはありません。
ただし、特定の構造に慣れると、最初よりも短時間で簡単に道を見つけることができると思います。