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

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

8
Pythonで連鎖メソッドの行を分割する方法は?
私は次のコードの行を持っています(命名規則を非難しないでください、それらは私のものではありません): subkeyword = Session.query( Subkeyword.subkeyword_id, Subkeyword.subkeyword_word ).filter_by( subkeyword_company_id=self.e_company_id ).filter_by( subkeyword_word=subkeyword_word ).filter_by( subkeyword_active=True ).one() 私はそれがどのように見えるか(読みすぎない)が好きではありませんが、この状況で行を79文字に制限するためのより良い考えはありません。それを壊すより良い方法はありますか(できればバックスラッシュなし)?

10
<STYLE>はHTMLドキュメントの<HEAD>内にある必要がありますか?
厳密に言えば、styleタグheadはHTMLドキュメント内にある必要がありますか?4.01標準はそれを意味しますが、明確に述べられていません: STYLE要素を使用すると、作成者はスタイルシートルールをドキュメントの先頭に配置できます。HTMLでは、ドキュメントのHEADセクションに任意の数のSTYLE要素を使用できます。 私が「厳密に言えば」と言っているのは、スタイル要素を本体内に配置するアプリがあり、テストしたすべてのブラウザーがスタイル要素を使用しているように見えるからです。それが実際に合法かどうか疑問に思っています。


7
node.jsアプリのコーディングスタイルガイド?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 3年前休業。 この質問を改善する node.jsの(またはいくつかの)コーディングスタイルガイドはありますか?そうでない場合、トップのオープンソースノードプロジェクトで使用されている新しいスタイルは何ですか? Pythonの標準的なコーディングスタイルガイドであるPEP 8に沿ったガイド(またはいくつかのガイド)を探しています。ここでリンクする価値のないさまざまなJavaScriptガイドを見ました(ほとんどが古く、クライアント側のJavaScriptをターゲットにしています)。興味深いnode.js スタイルガイドが1つ見つかりました。 コーディングスタイルガイド、またはコーディング規約には、次のものが含まれます(ただし、これらに限定されません)。 コードレイアウト:インデント(2スペース、4スペース、タブなど)、改行、改行など。 空白、たとえば、「function(arg)」と「function(arg)」 セミコロンまたはセミコロンなし、var宣言、... 命名、例えば、do_this()対doThis()、var_name対varName、... node.jsとJavaScriptのイディオム(==と===など)、コールバックの最初の引数はエラーオブジェクト、... コメントとドキュメント リントチェッカー、ユニットテストフレームワークなどの付随ツール... このトピックは明らかに主観的ですが、成熟する過程で一般的で広く受け入れられているコーディングスタイルを確立することは、コミュニティの重要なステップだと思います。また、味だけがすべてではありません。特に、「==の代わりに===を使用する」のようなルールは、コードの品質に直接影響します。

24
関数が長すぎるのはいつですか?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 35行、55行、100行、300行?いつそれを分解し始めるべきですか?60行(コメントを含む)の関数があり、それを分解することを考えていたので、私は尋ねています。 long_function(){ ... } に: small_function_1(){...} small_function_2(){...} small_function_3(){...} 関数はlong_functionの外では使用されません。関数を小さくすると、より多くの関数が呼び出されるなどになります。 関数をいつより小さな関数に分解しますか?どうして? メソッドは論理的なことを1つだけ実行する必要があります(機能について考えます) 方法を一文で説明できるはずです ディスプレイの高さに合わせる必要があります 不必要なオーバーヘッドを避けてください(明らかなことを指摘するコメント...) 小さな論理関数の場合、単体テストは簡単です 関数の一部が他のクラスまたはメソッドで再利用できるかどうかを確認します クラス間の過剰な結合を回避する 深くネストされた制御構造を避ける 答えをありがとう、リストを編集し、正しい答えに投票してください。 私はそれらの考えを念頭に置いて今リファクタリングしています:)

15
中括弧なしでifステートメントを使用することは悪い習慣ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 この質問を改善する 私はこのようなコードを見てきました: if(statement) do this; else do this; しかし、これはもっと読みやすいと思います: if(statement){ do this; }else{ do this; } 両方の方法が機能するので、これは単にどちらを使用するかという好みの問題ですか、それとも他の方法よりも推奨されますか?

7
Haskell関数構成(。)および関数適用($)イディオム:正しい使用
私はReal World Haskellを読んでいて、終わりに近づいていますが、スタイルの問題が(.)と($)演算子との関係で私を悩ませています。 他の関数の合成である関数を書くときは、次のように書きます。 f = g . h しかし、これらの関数の最後に何かを適用すると、次のように書きます。 k = a $ b $ c $ value しかし、本はそれをこのように書きます: k = a . b . c $ value 今、私にはそれらは機能的に同等に見え、私の目にはまったく同じことをしています。ただし、見れば見るほど、本のように関数を記述している人々が多くなります。(.)最初に構成し、最後にのみ($)値を追加してロットを評価します(多くのドル構成では誰も行いません)。 。 すべての($)記号を使用するよりもはるかに優れている本の方法を使用する理由はありますか?または、私がここで得ていないいくつかのベストプラクティスはありますか?それとも不必要ですか、まったく心配する必要はありませんか?

17
SQLキーワードに大文字を使用する十分な理由はありますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 この質問を改善する デフォルトは大文字のようですが、キーワードに大文字を使用する理由は本当にありますか?新しいストアドプロシージャのようなものを作成しようとするたびに、SQL Serverが提供するものと一致させようとしただけだったので、大文字を使い始めました。でも、Shiftボタンを押しっぱなしにしておく必要のある5番目の赤ちゃんの指がひどいので、大文字の使用をやめました。大文字に戻すべき理由は何ですか? 編集:回答をありがとう。私はCOBOLが王だった当時はまだプログラミングをしていなかったので、これに気づきませんでした。これから小文字のままにします。


2
Goのインデント:タブまたはスペース?
Goのソースコードのインデントにタブとスペースのどちらを使用するかを設定する標準のGoogle Goコーディング規約のドキュメントがどこかにありますか?そうでない場合、(統計的に)より人気のあるオプションは何ですか? 公式の推薦は何ですか?(存在する場合) より一般的な選択肢は何ですか?

26
メソッドの引数としてのブール値は受け入れられませんか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 この質問を改善する 私の同僚は、メソッド引数としてのブール値は受け入れられないと述べています。それらは列挙型に置き換えられます。最初は何のメリットもありませんでしたが、彼は私に例を挙げました。 何が理解しやすいですか? file.writeData( data, true ); または enum WriteMode { Append, Overwrite }; file.writeData( data, Append ); 今やった!;-) これは間違いなく、2番目のパラメーターとしての列挙がコードをはるかに読みやすくする例です。 それで、このトピックについてのあなたの意見は何ですか?

12
Switchステートメントのフォールスルー…許可されるべきか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 覚えている限り、switchステートメントのフォールスルーの使用は避けてきました。実際、switchステートメントのバグにすぎないということを、頭の中で掘り下げたため、可能なこととして意識の中に入るのを思い出すことはできません。しかし、今日、私はそれを仕様で使用するコードに出くわしました。そのため、コミュニティの誰もがswitchステートメントのフォールスルーについて何を考えているのかすぐに気になりました。 それはプログラミング言語が明示的に許可してはいけないものですか(C#のように、回避策を提供します)、それともプログラマーの手に委ねるのに十分強力な言語の機能ですか? 編集: 私はフォールスルーで何を意味するのか十分に特定していませんでした。私はこのタイプをよく使います: switch(m_loadAnimSubCt){ case 0: case 1: // Do something break; case 2: case 3: case 4: // Do something break; } しかし、私はこのようなことが心配です。 switch(m_loadAnimSubCt){ case 0: case 1: // Do something, but fall through to the other cases // after doing it. case 2: case 3: …

6
Pythonでは、メソッドではなく関数をいつ使用すればよいですか?
PythonのZenは、物事を行う方法は1つだけである必要があると述べています。 ささいな例であるChessBoardオブジェクトを見てみましょう。理事会でキングの合法的な動きをすべて利用できるようにする方法が必要だとしましょう。ChessBoard.get_king_moves()またはget_king_moves(chess_board)を記述しますか? これが私が調べたいくつかの関連する質問です: なぜPythonは「マジックメソッド」を使用するのですか? Python文字列に文字列長メソッドがない理由はありますか? 私が得た答えはほとんど決定的ではありませんでした: なぜPythonは一部の機能(list.index()など)にメソッドを使用し、他の機能(たとえばlen(list))に関数を使用するのですか? 主な理由は歴史です。関数は、タイプのグループに対して一般的であり、メソッドをまったく持たないオブジェクト(タプルなど)でも機能することを目的とした操作に使用されました。Pythonの関数機能(map()、apply()など)を使用するときに、アモルファスオブジェクトのコレクションに簡単に適用できる関数があると便利です。 実際、組み込み関数としてlen()、max()、min()を実装する方が、実際には、各型のメソッドとして実装するよりもコードが少なくて済みます。個々のケースについて疑問を投げかけることはできますが、それはPythonの一部であり、そのような根本的な変更を今行うには遅すぎます。関数は、大規模なコード破損を回避するために残しておく必要があります。 興味深いことですが、上記では実際に採用する戦略についてはあまり触れていません。 これが理由の1つです。カスタムメソッドを使用すると、開発者はgetLength()、length()、getlength()などの異なるメソッド名を自由に選択できます。Pythonは厳密な命名を強制するため、共通の関数len()を使用できます。 もう少し面白い。私の見解では、関数はある意味では、インターフェースのPythonicバージョンです。 最後に、グイド自身から: 能力/インターフェースについて話すと、「ローグ」の特別なメソッド名のいくつかについて考えさせられました。言語リファレンスでは、「クラスは、特殊な名前でメソッドを定義することにより、特殊な構文(算術演算や添え字やスライスなど)によって呼び出される特定の演算を実装できる」と述べています。しかし、構文のサポートではなく、組み込み関数の利点のために提供されているように見える、__len__またはのような特別な名前を持つこれらすべてのメソッドが__unicode__あります。それはので、おそらく、インターフェイスベースのPythonで、これらの方法は、ABCの定期的な名前のメソッドに変わるでしょう __len__になるだろう class container: ... def len(self): raise NotImplemented それについてもう少し考えますが、すべての構文操作が特定のABCで適切な通常の名前のメソッドを呼び出さ&lt;object.lessthancomparable.lessthanないのはなぜかわかりません。「」は、例えば、あろうおそらく呼び出し「(あるいは「」「)。したがって、もう1つの利点は、Pythonをこの複雑な名前の奇妙さから引き離すことができることです。これは、HCIの改善のようです。 うーん。同意するかどうかはわかりません(図:-)。 最初に説明したいのが「Pythonの理論的根拠」です。 まず、HCIの理由から、x.len()ではなくlen(x)を選択しました(def __len__()かなり後になりました)。実際には2つの理由があり、どちらもHCIです。 (a)一部の操作では、接頭表記は単にpostfixよりも読みやすくなります-接頭辞(およびインフィックス!)の操作は数学において長い伝統があり、ビジュアルが問題について数学者が考える助けとなる表記法を好みます。式を次のようx*(a+b)に書き換える簡単さを比較してくださいx*a + x*b生OO表記を使用して同じことをやっての不器用さにします。 (b)何かの長さを要求していることlen(x)を知っているというコードを読んだとき。これは2つのことを教えてくれます。結果は整数であり、引数はなんらかのコンテナです。逆に、私がを読んだときx.len()、それがxインターフェイスを実装しているコンテナ、または標準を持つクラスから継承しているコンテナの一種であることをすでに知っている必要がありますlen()。マッピングを実装していないクラスにget()or keys() メソッドがある場合、またはファイルではないものにwrite()ください。 同じことを別の言い方をすると、「len」は組み込みの操作と見なされ ます。それを失うのは嫌だ。あなたがそれを意味していたのかどうかははっきりしませんが、 'def len(self):...'は通常の方法に降格したいようです。私はそのことを強く-1としています。 説明することを約束したPythonの理論的根拠の2番目のビットは、__special__単に見るだけでなく、 特別な方法を選んだ理由specialです。クラスがオーバーライドする可能性のある多くの操作、一部の標準(__add__またはまたは__getitem__)、一部の標準ではない(たとえば、ピクルス__reduce__は長い間Cコードでまったくサポートされていなかった)を予期していました。これらの特別な操作で通常のメソッド名を使用したくありませんでした。そのため、既存のクラス、またはすべての特別なメソッドのエンサイクロペディックメモリを持たないユーザーが作成したクラスは、実装するつもりのない操作を誤って定義してしまう可能性があります。 、悲惨な結果をもたらす可能性があります。IvanKrstićはこれをより簡潔に彼のメッセージで説明しました。メッセージは私がこれをすべて書いた後に届きました。 ---Guido van Rossum(ホームページ:http ://www.python.org/~guido/ ) これについての私の理解は、特定のケースでは、プレフィックス表記がより意味をなす(つまり、Duck.quackがquack(Duck)よりも言語の観点から理解できる)ことであり、関数も「インターフェース」を許可します。 そのような場合、私の推測は、Guidoの最初の点のみに基づいてget_king_movesを実装することです。しかし、それでも、同様のプッシュメソッドとポップメソッドを使用してスタッククラスとキュークラスを実装するなど、関数またはメソッドのどちらであるかについて、未解決の問題が数多く残っています。(私は本当にプッシュポップインターフェイスに信号を送りたいので、ここでは関数を推測します) TLDR:関数とメソッドのどちらを使用するかを決定するための戦略を誰かが説明できるか?

8
Pythonコーディング標準/ベストプラクティス[終了]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 Pythonでは、一般にPEP 8-Pythonコードのスタイルガイドをコーディング標準/ガイドラインとして使用していますか?あなたが好む他の正式な規格はありますか?

8
「class」および「id」HTML属性の命名-ダッシュと下線の比較[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 この質問を改善する &lt;div id="example-value"&gt;または&lt;div id="example_value"&gt;? このサイトとTwitterは最初のスタイルを使用しています。FacebookとVimeo-2番目。 どちらを使用していますか、またその理由は何ですか。

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