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

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

5
「関数型プログラミング」の「ポイントフリー」スタイルとは何ですか?
私が最近気付いたフレーズは、「ポイントフリー」スタイルのコンセプトです... 最初に、この質問と、これもありました。 その後、私はここで彼らが「議論する価値のあるもう1つのトピックは、ポイントフリースタイルに対する作者の嫌いなこと」に言及していることを発見しました。 「ポイントフリー」スタイルとは?誰かが簡潔に説明できますか?「自動」カレーと関係がありますか? 私のレベルのアイデアを得るために-私は自分でSchemeを教えており、簡単なSchemeインタープリターを書きました...私は「暗黙の」カレーが何であるかを理解していますが、HaskellやMLを知りません。

11
乱雑さを減らす以外に、Javaで未使用のインポートをクリーンアップする理由はありますか?
Javaで未使用のインポート文を回避する正当な理由はありますか?私が理解しているように、それらはコンパイラーのために存在するので、未使用のインポートの多くはコンパイルされたコードに影響を与えません。混乱を減らし、将来の名前の競合を回避するだけですか? (Eclipseが未使用のインポートについて警告を出すため、これは私が質問します。これは、クラスの設計が完了したと確信できるまでインポートを削除したくないので、コードを開発しているときにちょっと面倒です。)

8
#definesのインデント
そんなこと知ってる #defineの、などが正常にインデントされることはありません。どうして? 私は現在、#defines、#ifdefs、#elses、#endifsなどの恐ろしい混合があるいくつかのコードで作業しています。これらすべては、通常のCコードとよく混ざっています。#definesをインデントしないと、読みにくくなります。そして、インデントされたコードとインデントされていない#definesの混在は悪夢です。 #definesをインデントしないことの利点は何ですか?インデントすると悪い人になりますか?これはもっといいですか? #ifdef SDCC #if DEBUGGING == 1 #if defined (pic18f2480) #define FLASH_MEMORY_END 0x3DC0 #elif defined (pic18f2580) #define FLASH_MEMORY_END 0x7DC0 #else #error "Can't set up flash memory end!" #endif #else #if defined (pic18f2480) #define FLASH_MEMORY_END 0x4000 #elif defined (pic18f2580) #define FLASH_MEMORY_END 0x8000 #else #error "Can't set up flash …

8
関数に出口点が1つしかないのはなぜですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して質問を更新し、事実と引用で回答できるようにします。 3年前休業。 この質問を改善する 読みやすさと効率性が失われるため、コーディングの悪い方法として単一の出口点関数については常に耳にしました。反対側の主張を聞いたことがありません。 これはCSと関係があると思いましたが、この質問はcstheory stackexchangeで撃ち落とされました。

13
乱数の行列を作成する簡単な方法
乱数の行列を作成しようとしていますが、私の解決策は長すぎて見苦しく見えます random_matrix = [[random.random() for e in range(2)] for e in range(3)] これは大丈夫に見えますが、私の実装ではそれは weights_h = [[random.random() for e in range(len(inputs[0]))] for e in range(hiden_neurons)] これは非常に読みにくく、1行に収まりません。

13
XML要素に標準の命名規則はありますか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 3年前休業。 この質問を改善する XMLドキュメントには、事実上のまたはそれ以外の標準がありますか?たとえば、タグを記述する「最良の」方法はどれですか。 <MyTag /> <myTag /> <mytag /> <my-tag /> <my_tag /> 同様に、より良い属性の列挙値がある場合 <myTag attribute="value one"/> <myTag attribute="ValueOne"/> <myTag attribute="value-one"/>

30
型だけが大文字と小文字で異なる変数名を使用するのは不道徳ですか?
たとえば、次のコードを見てください。 var person = new Person(); またはあなたのためにPythonistas: person = Person() 私は常にこれがいかに悪いかと聞かれますが、これらの2行のコードの不道徳の例をまだ見ていません。私にとって、人は人であり、それに別の名前を付けようとすることは時間の無駄です。構文強調表示の前の数日間は、これは大きな問題だったと思います。しかし最近では、型名と変数名を区別するのは非常に簡単です。ここで、SOの違いを確認するのも簡単です。 それとも私が見逃しているものはありますか?もしそうなら、問題を引き起こすコードの例を提供できると助かります。

6
別のプログラミング言語への変換を容易にするために、コードにどのようなパターンを適用できますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 5年前に閉鎖。 この質問を改善する 私は、あるプログラミング言語から別のプログラミング言語にコードを変換することを目標とするサイドプロジェクトを行うことを目指しています。私が使用している言語はPHPとPythonです(PythonからPHPを使用する方が簡単です)が、理想的には(比較的)簡単に他の言語を追加できます。計画は次のとおりです。 これはWeb開発を対象としています。元のコードとターゲットコードはフレームワークの上に配置されます(これも私が作成する必要があります)。これらのフレームワークはMVC設計パターンを採用し、厳密なコーディング規則に従います。これにより、翻訳が多少容易になります。 また、IOCと依存関係の注入についても検討しています。これにより、変換プロセスが容易になり、エラーが発生しにくくなる可能性があります。 抽象構文ツリーをいじるPythonのパーサーモジュールを利用します。どうやら私がPHPを使用して取得できる最も近いものはtoken_get_all()です。 それからは、AST、シンボルテーブル、制御フローを構築できます。 その後、コードの出力を開始できると思います。完全な翻訳は必要ありません。生成されたコードを確認して問題を修正する必要があります。理想的には、翻訳者は問題のある翻訳にフラグを付ける必要があります。 「これは一体何のことなんだ?」と尋ねる前に 答えは...興味深い学習体験になるでしょう。この困難さを軽減する方法について何か洞察があれば、私に知らせてください。 編集: 変換の方法よりもコードを変換しやすくするためにコードに適用できるパターンの種類(IoC、SOAなど)を理解することに、より関心があります。

30
「コメントアウトされた」コードのチェックイン[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して質問を更新し、事実と引用で回答できるようにします。 3年前休業。 この質問を改善する わかりました、これが私の現在の仕事でいくらかの摩擦を引き起こした何かであり、私は本当にそれを期待していませんでした。ここで組織されたソフトウェア開発はここでの新しい概念であり、いくつかのコーディングガイドラインの最初のドラフトを作成しました。 「コメントアウトされた」コードはリポジトリにチェックインしないでください。私がこれを述べた理由は、リポジトリがファイルの完全な履歴を保持しているためです。機能コードを削除する場合は、完全に削除してください。リポジトリは変更を保持するため、変更内容を簡単に確認できます。 このため、別の開発者がこの方法をとるのは制限が厳しすぎると考えているため、多少の摩擦が生じています。この開発者は、彼が取り組んでいるが不完全なコードをコメント化できるようにしたいと考えています。このコードは、以前にチェックインされることはなく、どこにも保存されませんでした。TFSを使用するので、変更を保留することが最も適切なソリューションになると提案しました。ただし、デプロイされている場合とされていない場合がある部分的な変更をチェックインできるようにしたいため、これは受け入れられませんでした。 最終的には、継続的インテグレーションを最大限に活用し、開発用Webサーバーに自動的にデプロイするようになる予定です。現在、Webサーバーまたはデータベースサーバーの開発バージョンはありませんが、すべてすぐに変更されます。 とにかく、あなたの考えは何ですか?「コメントアウトされた」コードがリポジトリにあると便利だと思いますか? このトピックについて他の人から話を聞くことは非常に興味があります。 編集:わかりやすくするために、私たちはプライベートブランチを使用していません。私たちがそうした場合、私はあなたのプライベートブランチであなたがやりたいことをしますが、コメントアウトされたコードをトランクや共有ブランチにマージしないでください。 編集:プライベートまたはユーザーごとのブランチを使用しない正当な理由はありません。それは私が同意しない概念ではありません。まだそのように設定していません。おそらくそれが最終的な中立だろう。ここでは、TFSシェルビングを使用します。

9
メソッドを静的として宣言することの利点は何ですか
私は最近、Eclipseで警告を確認していて、これに遭遇しました: メソッドを静的として宣言できる場合は、コンパイラ警告が表示されます。 [編集]プライベートおよびファイナルに重点を置いたEclipseヘルプ内の正確な引用: 有効にすると、コンパイラーは、プライベートまたはファイナルで、静的メンバーのみを参照するメソッドに対してエラーまたは警告を発行します。 はい、オフにできることはわかっていますが、オンにする理由を知りたいですか? 可能なすべてのメソッドをstaticとして宣言するのが良いのはなぜですか? これにより、パフォーマンスが向上しますか?(モバイルドメイン内) メソッドを静的として指摘すると、インスタンス変数を使用しないため、utilsスタイルのクラスに移動できることを示していると思いますか? 1日の終わりに、これを「無視」するだけにするか、それとも100以上の警告を修正する必要がありますか? コンパイラはとにかくこれらのメソッドをインライン化するだけなので、これはコードを汚す追加のキーワードに過ぎないと思いますか?(最終的にできるすべての変数を宣言するわけではありませんが、できます)。

10
オプションのコールバックのJavaScriptスタイル
コールバックを受信して​​実行することがある関数があります(常にではない)。コールバックが定義/機能されているかどうかをチェックすることは良いスタイルですか、それとももっと良い方法がありますか? 例: function save (callback){ .....do stuff...... if(typeof callback !== 'undefined'){ callback(); }; };

8
スラッシュを閉じる前のスペース?
XMLタグとHTMLタグの終了スラッシュの前にスペースが頻繁にあります。XHTMLの改行はおそらく標準的な例です。 <br /> の代わりに: <br/> スペースは余計に見えます。実は余計だと思います。 このスペースを書く理由は何ですか? このスペースでいくつかの「後方互換性の問題」が解決されることを読みました。どの下位互換性の問題ですか?それらの問題はまだ関連していますか、それともIE3の互換性などのために余分なスペースを追加していますか?これについて決定的な答えを持ついくつかの仕様はありますか? 後方互換性がない場合、それは読みやすさの問題ですか?グレートオープンカーリーブレースの議論に似ていますか? void it_goes_up_here() { int no_you_fool_it_goes_down_there() { 私は確かに異なる文体の意見を尊重することができるので、空間を書くことは単に好みの問題であることを学んで喜んでいます。
93 html  xml  xhtml  coding-style 

3
暗黙的な変換とタイプクラス
Scalaでは、少なくとも2つの方法を使用して、既存の型または新しい型を改良できます。を使用して何かを数量化できることを表現したいとしIntます。次の特性を定義できます。 暗黙的な変換 trait Quantifiable{ def quantify: Int } そして、暗黙の変換を使用して、たとえば文字列やリストを定量化できます。 implicit def string2quant(s: String) = new Quantifiable{ def quantify = s.size } implicit def list2quantifiable[A](l: List[A]) = new Quantifiable{ val quantify = l.size } これらをインポートした後quantify、文字列とリストのメソッドを呼び出すことができます。定量化可能なリストはその長さを格納するため、後続のへの呼び出しでのリストの高価な走査を回避することに注意してくださいquantify。 型クラス 別の方法はQuantified[A]、あるタイプAは数量化できることを示す「目撃者」を定義することです。 trait Quantified[A] { def quantify(a: A): Int } 私たちは、このタイプのクラスのインスタンスを提供Stringし、Listどこかに。 implicit val stringQuantifiable = new …

5
C ++の悪い習慣でassert()を使用していますか?
リリースビルドのパフォーマンスに影響を与えずにデバッグを容易にするために、C ++コードに多くのアサーションを追加する傾向があります。これassertは、C ++メカニズムを考慮せずに設計された純粋なCマクロです。 一方、C ++はを定義しますstd::logic_error。これは、プログラムのロジック(したがって、名前)にエラーがある場合にスローされることを意図しています。インスタンスをスローすることは、の代わりに、C ++に代わる完璧な方法になる可能性がありますassert。 問題はassert、abort両方ともデストラクタを呼び出さずにプログラムをすぐに終了するため、クリーンアップをスキップするのに対し、例外を手動でスローすると、不要な実行時コストが追加されることです。これを回避する1つの方法は、独自のアサーションマクロを作成することです。これはSAFE_ASSERT、Cの対応物と同じように機能しますが、失敗すると例外をスローします。 この問題について3つの意見を考えることができます。 Cの主張に固執する。プログラムはすぐに終了するので、変更が正しく展開されるかどうかは問題ではありません。また、#defineC ++でsを使用することも同様に悪いことです。 例外をスローし、main()でキャッチします。コードがプログラムのどの状態でもデストラクタをスキップできるようにすることは悪い習慣であり、すべての犠牲を払って回避する必要があります。また、terminate()の呼び出しも同様です。例外がスローされた場合は、キャッチする必要があります。 例外をスローし、プログラムを終了させます。 プログラムを終了する例外は問題ありNDEBUGません。これにより、リリースビルドではこれが発生することはありません。キャッチは不要であり、内部コードの実装の詳細をに公開しmain()ます。 この問題に対する明確な答えはありますか?専門的な参考資料はありますか? 編集:デストラクタのスキップは、もちろん、未定義の動作ではありません。

10
ベストプラクティス:クラス定義内でのパブリック/保護/プライベートの順序付け?
私はゼロから新しいプロジェクトを始めており、それがクリーンである/良いコーディング標準を持っていることを望んでいます。ここのベテラン開発者は、クラス内でどのような順序でレイアウトを行いますか? A:1)パブリックメソッド2)プライベートメソッド3)パブリック変数4)プライベート変数 B:1)パブリック変数2)プライベート変数3)パブリックメソッド4)プライベートメソッド C:1)パブリック変数2)パブリックメソッド3)プライベートメソッド4)プライベート変数 私は一般にパブリック静的変数を一番上に置きたいのですが、パブリック静的メソッドをコンストラクターの前にリストするのでしょうか、それともコンストラクターを常に最初にリストする必要がありますか?そういうこと... 私はそれが微妙だと知っていますが、私はただ疑問に思いました:これのためのベストプラクティスは何ですか? PS:いいえ、Cc#は使用しません。知っている。私はラディットです。

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