タグ付けされた質問 「coding-style」

**使ってはいけません!このタグは完全に意見が分かれた主題を参照しているため、もはや話題にはなりません。**コーディングスタイルと規則に従う質問。

6
PythonコードをPEP8準拠に変換するツール
PythonコードがPEP8に準拠しているかどうかを検証するツールがあることを知っています。たとえば、オンラインサービスとpythonモジュールの両方があります。 ただし、Pythonファイルを自己完結型のPEP8有効なPythonファイルに変換できるサービスまたはモジュールが見つかりません。誰かがいるかどうか知っていますか? PEP8はすべてコードの外観に関するものなので、実現可能だと思いますよね?

5
doブロックと中かっこ{}の使用
ルビーの初心者は、初心者用の手袋を着用してください。 次の2つのスニペットの間に(あいまいまたは実用的な)違いはありますか? my_array = [:uno, :dos, :tres] my_array.each { |item| puts item } my_array = [:uno, :dos, :tres] my_array.each do |item| puts item end ブレース構文を使用すると、ブロックを1行に配置できます my_array.each { |item| puts item } しかし、それ以外に、ある構文を他の構文よりも使用する説得力のある理由はありますか?
112 ruby  coding-style 

19
#ifdefと#if-コードの特定のセクションのコンパイルを有効/無効にする方法として、どちらが優れている/より安全ですか?
これはスタイルの問題かもしれませんが、私たちの開発チームには少し分裂があるので、他の誰かがこの問題について何か考えを持っているのではないかと思いました... 基本的に、通常の開発中にオフにするデバッグ印刷ステートメントがいくつかあります。個人的に私は以下を行うことを好みます: //---- SomeSourceFile.cpp ---- #define DEBUG_ENABLED (0) ... SomeFunction() { int someVariable = 5; #if(DEBUG_ENABLED) printf("Debugging: someVariable == %d", someVariable); #endif } しかし、チームの中には次のものを好む人もいます: // #define DEBUG_ENABLED ... SomeFunction() { int someVariable = 5; #ifdef DEBUG_ENABLED printf("Debugging: someVariable == %d", someVariable); #endif } ...これらの方法のどれがあなたにとってより良く聞こえますか、そしてなぜですか?私は、何かが常に定義されており、他の定義を破壊する危険がないため、最初の方が安全だと感じています。

11
Pythonでのパラメータの強制命名
Pythonでは、関数定義がある場合があります。 def info(object, spacing=10, collapse=1) これは、次のいずれかの方法で呼び出すことができます。 info(odbchelper) info(odbchelper, 12) info(odbchelper, collapse=0) info(spacing=15, object=odbchelper) 名前が付けられている限り、Pythonでは任意の順序の引数を使用できるため、 私たちが抱えている問題は、いくつかの大きな関数が成長するにつれて、spacingとの間にユーザーがパラメーターを追加collapseしている可能性があります。つまり、名前が付けられていないパラメーターに誤った値が渡される可能性があります。さらに、何を入れる必要があるかが常に明確であるとは限らない場合もあります。コーディング基準だけでなく、フラグまたはpydevプラグインだけでなく、特定のパラメーターに名前を付けるようにユーザーを強制する方法が必要ですか? 上記の4つの例では、すべてのパラメーターに名前が付けられているため、最後のものだけがチェックに合格します。 奇妙なことに、特定の機能に対してのみオンにするつもりですが、これを実装する方法に関する提案や、それが可能かどうかさえあれば、喜んでいただけます。

9
Rで変数を命名するための好ましいスタイルは何ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 この質問を改善する 変数と関数の命名規則として、Rコードではどの規則を使用しますか? 私の知る限りでは、いくつかの異なる規則があり、それらはすべて不協和音で共存します。 1.ピリオドセパレータの使用、例えば stock.prices <- c(12.01, 10.12) col.names <- c('symbol','price') 長所: Rコミュニティで歴史的な優先順位があり、Rコア全体に普及しており、GoogleのRスタイルガイドで推奨されています。 短所: オブジェクト指向の意味合いで溢れ、R初心者を混乱させる 2.アンダースコアの使用 stock_prices <- c(12.01, 10.12) col_names <- c('symbol','price') 長所: 多くのプログラミング言語で共通の規則。Hadley WickhamのStyle Guideに支持され、ggplot2およびplyrパッケージで使用されています。 短所: Rプログラマーがこれまで使用していない。Emacs-Speaks-Statistics(「ess-toggle-underscore」で変更可能)の「<-」演算子にうっとうしくマッピングされます。 3.混合大文字の使用(camelCase) stockPrices <- c(12.01, 10.12) colNames <- c('symbol','price') 長所:いくつかの言語コミュニティで広く採用されているようです。 短所:最近の前例がありますが、(Rベースまたはそのドキュメントで)歴史的に使用されていません。 最後に、それが十分に混乱していないかのように、Googleスタイルガイドは変数のドット表記を主張しているが、関数の大文字の混在は主張していることを指摘する必要があります。 Rパッケージ全体で一貫したスタイルがないことは、いくつかのレベルで問題があります。開発者の観点からすると、他のコードの保守と拡張が困難になります(特に、スタイルが自分のコードと一致しない場合)。Rユーザーの観点から見ると、一貫性のない構文は、概念の表現方法を増やすことで、Rの学習曲線を急勾配にします(たとえば、日付キャスト関数としてasDate()、as.date()、またはas_date()ですか?いいえ、そうです。日付())。

6
Webstormで大量の未解決の変数警告と戦う方法は?
サーバーからデータを取得する関数があります。 function getData(data){ console.log(data.someVar); } Webstormは言うsomeVar-は未解決の変数です。このような警告を取り除くにはどうすればよいですか? いくつかのオプションが表示されます: IDE設定で警告を抑制します。 フィールドを含むjsonソースファイル(詳細)を追加します。 配列のような構文を使用しますdata['some_unres_var']。 また、Webstormは、「データ」の名前空間を作成する(のような注釈を追加する/** @namespace data.some_unres_var*/)、そのようなフィールドを作成する、または名前を変更するように私に提案しています。

18
enumとint / Stringの間の便利なマッピング
唯一の有限個の値を取ることができ、変数/パラメータを操作するとき、私はいつも、Javaのを使用しようとするenumのように、 public enum BonusType { MONTHLY, YEARLY, ONE_OFF } コード内にいる限り、問題なく動作します。ただし、同じ目的でプレーンint(またはString)の値を使用する他のコードとやり取りする必要がある場合や、データが数値または文字列として格納されているデータベースとの間で読み書きを行う必要があります。 その場合、両方の方法で変換できるように、各enum値を整数に関連付ける便利な方法が必要です(つまり、「可逆enum」が必要です)。 enumからintへの移行は簡単です。 public enum BonusType { public final int id; BonusType(int id) { this.id = id; } MONTHLY(1), YEARLY(2), ONE_OFF(3); } 次に、int値にとしてアクセスできますBonusType x = MONTHLY; int id = x.id;。 ただし、その逆、つまりintからenumに移行する方法はわかりません。理想的には、 BonusType bt = BonusType.getById(2); 私が思いつくことができる唯一の解決策は: ルックアップメソッドをenumに入れます。これはBonusType.values()、マップ「int-> enum」を埋めるために使用し、それをキャッシュしてルックアップに使用します。動作しますが、このメソッドを使用する各列挙型に同じようにコピーする必要があります:-(。 ルックアップメソッドを静的ユーティリティクラスに配置します。次に、必要なのは1つの「ルックアップ」メソッドだけですが、任意の列挙型で機能させるには、リフレクションをいじる必要があります。 どちらの方法も、このような単純な(?)問題にはひどく扱いにくいようです。 他のアイデア/洞察?
108 java  enums  coding-style 

5
Intellijでは、キャメルケースとアンダースコアの間隔をどのように切り替えますか?
私の会社では、JavaとSQLの2つの異なるスタイルガイドを用意しています。Javaでは名前の付いたフィールドがhistoryOfPresentIllnessあり、SQLを書くときに名前を付けたいと思いhistory_of_present_illnessます。フレーズを強調表示したときにキーボードショートカットを切り替えて使用できますか?それとも、これを行うことができるプラグインですか? 私が求めている間に有効にする方法がある場合、私は同様に求めることができるhistoryOfPresentIllnessにはhistory-of-present-illness。それはjavaからclojureスタイルまでです。

8
.cppファイルでC ++名前空間メソッドを定義する正しい方法
おそらく重複していますが、簡単に検索することはできません... 次のようなヘッダーがあるとします。 namespace ns1 { class MyClass { void method(); }; } 私はmethod().cppファイルでいくつかの方法で定義されているのを見ました: バージョン1: namespace ns1 { void MyClass::method() { ... } } バージョン2: using namespace ns1; void MyClass::method() { ... } バージョン3: void ns1::MyClass::method() { ... } それを行う「正しい」方法はありますか?これらはすべて同じ意味ではないという点で「間違った」ものはありますか?

8
まだC#で​​[goto]を使用している人はいますか。[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 この質問を改善する まだC#で​​「goto」キーワード構文を使用している人がいるかどうか、その理由は何ですか。 私は、読者にコードをジャンプさせるようなステートメントを悪い習慣と見なす傾向がありますが、そのような構文を使用するための信頼できるシナリオがあるかどうか疑問に思いましたか? キーワード定義に移動
104 c#  .net  coding-style  goto 

6
PEP 8、キーワード引数またはデフォルトのパラメーター値の '='の前後にスペースがないのはなぜですか?
PEP 8 =がキーワード引数またはデフォルトのパラメーター値に前後にスペースを入れないことを推奨するのはなぜですか? これは=、Pythonコード内の他のすべての出現の周りにスペースを推奨することと矛盾していますか? 方法は: func(1, 2, very_long_variable_name=another_very_long_variable_name) より良い: func(1, 2, very_long_variable_name = another_very_long_variable_name) PythonのBDFLによるディスカッション/説明へのリンクがあれば、高く評価されます。 ちなみに、この質問はデフォルト値よりもクワルグについてです。PEP8の表現を使用しました。 私は意見を求めていません。私はこの決定の背後にある理由を求めています。これは、より尋ねるようなものだ、なぜ私が使用する{と同じ行にif、Cプログラムでは文でないかどうか、私はそれを使用するか、またはべきではありません。



7
C ++では、関数からベクトルを返すことはまだ悪い習慣ですか?
短いバージョン:多くのプログラミング言語では、ベクトルや配列などの大きなオブジェクトを返すのが一般的です。クラスにmoveコンストラクターがある場合、このスタイルはC ++ 0xで受け入れられるのですか、それともC ++プログラマーは奇妙/醜い/退屈であると考えていますか? 長いバージョン: C ++ 0xでは、これはまだ悪い形式と見なされていますか? std::vector<std::string> BuildLargeVector(); ... std::vector<std::string> v = BuildLargeVector(); 従来のバージョンは次のようになります。 void BuildLargeVector(std::vector<std::string>& result); ... std::vector<std::string> v; BuildLargeVector(v); 新しいバージョンでBuildLargeVectorは、から返される値は右辺値であるためstd::vector、(N)RVOが発生しないと仮定すると、vはの移動コンストラクタを使用して構築されます。 C ++ 0xの前でさえ、(N)RVOのために最初の形式はしばしば「効率的」でした。ただし、(N)RVOはコンパイラーの裁量に任されています。これで右辺値参照ができたので、ディープコピーが行われないことが保証されます。 編集:質問は本当に最適化についてではありません。示されている両方の形式は、実際のプログラムでほぼ同一のパフォーマンスを持っています。一方、最初の形式では、パフォーマンスが大幅に低下する可能性がありました。その結果、最初の形式は、長い間C ++プログラミングの主要なコードのにおいでした。もういいんじゃないの?

12
コミットメッセージは現在時制または過去時制で書かれるべきですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前休業。 この質問を改善する それで、あなたがより直感的に優れていると思うのはどれですか? Fixed the XXX bug in YYY Fix the XXX bug in YYY Fixes the XXX bug in YYY Fixing the XXX bug in YYY 根拠を提供してください。一般的な観点から質問していることに注意してください。つまり、これを好みのsvn / cvsツールやプログラミング言語に関連付けようとするのではなく、あらゆるツールやプログラミング言語に適用すべき/適用できるものと考えてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.