まず、私のコーディングスタイルre:white spaceを調整します。昔、一部のピエロは、ベストプラクティスに関するジョーク記事を書いて、可能な限りあらゆる場所に空白の12個の完全なタブのようなコード例を示しました。12フィート幅の画面がない場合、または.0001フォントサイズでは、コードを読み取ることができません。多くのプログラマーは、それが信頼できるものであると想定し、それを実行し始めました。それは私を狂わせます。みんな来て、私は言う、あなたはそれより賢いです。240列のページの50%以上の空白は意味がありません。最初の波括弧を関数またはクラスシグネチャと同じ行に配置します(間に1つまたは2つのスペースを入れ、間に1つまたは2つのスペースを入れません)。3つのスペースを使用してコードレベルをインデントします(部分的に盲目のチームメンバーがいる場合は5つ)。次に、コードのあちこちに空白行を使用して、より小さな論理ブロックに配置します。
ここに骨のあるものの別の例があります。まず、これは経験の浅いハーフウィットからではないことをお伝えします。それは、世界の他のほとんどの国々がまだそれについて頭を悩ませている間に、非常に高度な技術を機能させることができた人によるいくつかの非常に優れたコードにあります。これは私にとって苛立たしいことです。優れたプログラマーがコードのフォーマットについて骨の折れる理由
for (Iterator<Byte> iterator = collection.iterator(); iterator
.hasNext();) {
byteArray[i++] = iterator.next();
}
次に、for条件のフォーマットを見てください。実際に考えてみれば、改行を入れるのはまったく理不尽なところではないでしょうか。1つは、1行に... {全体を表示するのに十分なスペースがありました。(幸いなことに、この男はインデントに複数のタブを使用していません。)しかし、分解することなしに絶対に生きられないのなら、なぜ関数仕様の真ん中にあるのでしょうか。その直前に完全に適切な区切り文字-セミコロン-があります。これは、ブレークポイントとしてより理にかなっています。私の投票は、条件全体とオープニング{(forに伴う)を同じ行に置くことです。彼も終了します-閉じ中かっこを開いた「for」と一致させるのは簡単です。(一部の人々-とツール(それは冗長ですか?)-奇妙な場所にも配置したいです。)
第二に、各プログラマーの専門知識の焦点に注意し、大きな違いがある場合は、それが各プログラマーが作業するコードのどの部分に反映されているかを確認してください。ロボット工学の産業用制御の専門家、主に複雑な数学的ビットに取り組んでいるエンジニア、完全にあいまいなコード構成で自分を印象づけるCS学位の人(理解しにくいほど、洗練されているように見えます)が全員です。別の方法でコードを記述します。これらの大きな違いがある場合は、個々の強さが仕事に一致するように作業を分割します。
そのような違いがない場合は、コーディングスタイルに同意します。いずれにしても、コードレビュー、コードレビュー、コードレビューです。率直に言って、私は人生の多くのずさんなスパゲッティコードを経験してきました(メンテナンスグループによるデバッグと変更の12倍のラインダウン、または目を凝らした統合の結果)。最後に作業した人と2分間話し合った後、コードの専門家。(補足:実際には、適応を続けるよりもコードを書き直した方がよい点があります。)
個人的には、私も一人で家で仕事をすることを好みます。他の多くのプログラマー、ディスカッション、および中断に囲まれたキュービカルで好むか、またはうまく機能するプログラマーに会ったことはありません。しかし、チームでの作業に慣れる必要があります。つまり、時間をかけて集まり、自分のしていることについて話し合う(戦うのではない)ことを意味します。それは実際に仕事の一部です-それは本当にです。それを受け入れ、体系的、効率的、効果的に行う方がはるかに優れています。そして、私たちがそうしている間-知識や情報をドキュメントを書く人(あなたが自分で書く必要があるかもしれない人)に転送することに時間を費やすことも仕事の一部です。そして、あなたが責任のレベルを上げるのに十分な経験を積んでいると、マネージャーやマーケティング担当者などともっと頻繁にチャットすることさえあるかもしれません。
コーディングだけでも趣味です。プロフェッショナルソフトウェアエンジニアリングは、多面的な職業です。