問題タブ [coding-style]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
variables - iという名前の変数は受け入れられませんか?
変数の命名規則に関する限り、イテレータには名前を付ける必要がありますか、i
それとももっとセマンティックな名前を付ける必要がありますcount
か?使わないのならi
、どうして?それが許容できると感じたi
場合、それを使用すべきではない反復のケースはありますか?
coding-style - デザインとコーディング - 上から下か下から上か?
コーディングするとき、あなたの経験上、より良いアプローチは何ですか?
- 問題を十分に小さな断片に分割してから、各断片を実装します。
- 問題を分解しますが、トップダウンのアプローチを使用して実装します。
- 他の?
api - APIのすべてのパブリックメソッドを文書化する必要がありますか?
「ライブラリ」タイプのクラスを作成する場合、常にマークアップドキュメント(つまりjavadoc)をJavaで作成するか、コードを「自己ドキュメント化」できると想定する方がよいでしょうか。たとえば、次のメソッドスタブがあるとします。
javadocは自明のようであり、機能がまったく変更された場合に更新する必要があるノイズです。しかし、ストリームをフラッシュして閉じないことについての文章は価値があるかもしれません。
したがって、ライブラリを作成するときは、次のことを行うのが最適です。
a)常に文書化する
b)明白でないものはすべて文書化する
c)文書化しない(コードはそれ自体を語る必要がある!)
私は通常b)を使用します(コードは他の方法で自己文書化できるため)...
coding-style - 権限のない責任は無意味です - 技術ベースのソリューションですか?
私の父はいつも「権限のない責任は無意味だ」と言います。
ただし、開発者として、私たちは常に次のような状況に陥っています。
- ソフトウェアに「バグがない」ことを確認する責任がありますが、バグ追跡システムを実装する権限はありません
- プロジェクトの期限を守る責任がありますが、要件、品質、またはチーム リソース (プロジェクト管理の 3 つの部分) に影響を与えることはできません。
- 等
もちろん、これを回避するためにあなたが言うことができることはたくさんあります - 新しい仕事を見つける、上司と戦うなど....
しかし、この問題に対する技術的な解決策はどうでしょうか? つまり、これらの問題のいくつかを修正するようにチームを説得する必要なしに、自分でどのようなコーディングを行うことができるか、または追跡されていないバグがあなたを傷つけている理由、締め切りに間に合わない理由を示すためにどのようなツールを使用できるかです。また、これらのツールを使用して、上司になることなく、より多くの「権限」を得るにはどうすればよいでしょうか?
***例 - 上司があなたのところに来て、「なんでこんなにバグが多いの!?!?」と言います。- 私たちのほとんどは、「追跡するための優れたシステムがありません!」と言うでしょうが、これは通常、私の経験では言い訳と見なされます。では、レポート (マネージャーはレポートが大好きです) を指して、「ほら、これが理由です」と言うことができたらどうでしょうか?
c++ - #ifdef と #if - コードの特定のセクションのコンパイルを有効/無効にする方法として、どちらが優れている/安全ですか?
これはスタイルの問題かもしれませんが、私たちの開発チームには少し意見が分かれており、他の誰かがこの問題についてアイデアを持っているかどうか疑問に思っていました...
基本的に、通常の開発中にオフにするデバッグ印刷ステートメントがいくつかあります。個人的には、次のことを行うことを好みます。
ただし、一部のチームは次のことを好みます。
...これらの方法のどれがあなたにとってより良いと思われますか?またその理由は? 常に何かが定義されており、他の定義を破壊する危険がないため、最初の方が安全であると私は感じています。
coding-style - メソッド引数としてのブール値は受け入れられませんか?
私の同僚は、メソッド引数としてのブール値は受け入れられないと述べています。それらは列挙に置き換えられるものとします。最初は何のメリットもありませんでしたが、彼は私に例を教えてくれました。
何がわかりやすいですか?
または
今、私はそれを手に入れました!;-)
これは間違いなく、2番目のパラメーターとしての列挙によってコードがはるかに読みやすくなる例です。
それで、このトピックについてのあなたの意見は何ですか?
.net - アプリケーションでエラー メッセージを一元化するための最良の方法は何ですか?
エラー メッセージ (または他のユーザー メッセージ) が使用されるアプリケーション全体で、通常は文字列をハードコーディングします。明らかに、これは非常に悪い場合があります (特に、戻ってアプリをローカライズする必要がある場合)。これらの文字列を一元化するための最良のアプローチは何ですか? 静的クラス?定数?XML ファイル? または組み合わせ (xml ファイルからの読み取りに使用される定数を使用して静的クラスを作成するなど)。
c++ - 長所/短所: 条件文で変数を初期化する
C++ では、次のように if ステートメントで変数を初期化できます。
なぜこのスタイルが悪い、または良いと考えるのでしょうか? 利点と欠点は何ですか?
pThing 変数のスコープを制限し、NULL のときに誤って使用されることがないため、個人的にはこのスタイルが気に入っています。ただし、これができないのは好きではありません。
上記の作業を行う方法があれば、投稿してください。しかし、それが不可能な場合でも、その理由を知りたいです。
coding-style - 冗長なコード構造
私がよく目にする最もひどく冗長なコード構成は、コード シーケンスの使用を伴います。
単純に書くのではなく
Pascal や C から PHP や Java まで、あらゆる種類の言語でこの初歩的なエラーを見てきました。コードレビューで、他にどのような構造にフラグを立てますか?
php - PHPで従うべきコーディング規約はどれですか?
PHPコードについてはSunのJavaコード規則に従う必要がありますか?