私は、docstringとpythonのコメントの違いより少し混乱しています。Docstrings vs Comments
私のクラスでは、先生が「デザインレシピ」と呼ばれるものを紹介しました。これは、生徒がPythonでコーディングをよりよくプロットし整理するのに役立つと思われる一連のステップです。私が理解から、以下の我々は次の手順の一例である - これがそうなデザインレシピ(引用中のもの)を呼び出します。
def term_work_mark(a0_mark, a1_mark, a2_mark, ex_mark, midterm_mark):
''' (float, float, float, float, float) -> float
Takes your marks on a0_mark, a1_mark, a2_mark, ex_mark and midterm_mark,
calculates their respective weight contributions and sums these
contributions to deliver your overall term mark out of a maximum of 55 (This
is because the exam mark is not taken account of in this function)
>>>term_work_mark(5, 5, 5, 5, 5)
11.8
>>>term_work_mark(0, 0, 0, 0, 0)
0.0
'''
a0_component = contribution(a0_mark, a0_max_mark, a0_weight)
a1_component = contribution(a1_mark, a1_max_mark, a1_weight)
a2_component = contribution(a2_mark, a2_max_mark, a2_weight)
ex_component = contribution(ex_mark, exercises_max_mark,exercises_weight)
mid_component = contribution(midterm_mark, midterm_max_mark, midterm_weight)
return (a0_component + a1_component + a2_component + ex_component +
mid_component)
私の知る限り、これは基本的にドキュメント文字列であることを理解し、私たちのようにバージョンのdocstringには、記述、Pythonシェルに関数を入力した場合の関数の例、 'タイプ契約'、入力するタイプとタイプを示すセクションの3つのものが含まれていなければなりません戻ります。
ここではこれがすべて完了しましたが、私たちの割り当てでは、トークン「#」記号を使用して、機能の性質を説明するコメントも必要です。
私の質問は、すでに私の関数がdocstringのdescriptionセクションで何をするのかを説明していないのですか?読者に本質的に同じことを話している場合、コメントを追加する点は何ですか?
また、サイドノートでは、このコードを実際の投稿に一度正しく出力するために非常に恐ろしい時間があります。申し訳ありません。私は誰かがポストでコードを正しく書式設定する正しい方向に私を指すことができるとは思わない?
私はあなたのためにコードをフォーマットし。 StackExchangeでコードをフォーマットするには、コードブロックを選択し、ツールバーのコードフォーマット '{}'ボタンを押すか、またはあなたのプラットフォームに応じて[Cmd] + [K]または[Ctrl] + [K]を押してください。 – Johnsyweb
私は(コメントをあなたの***コード***で明確に表現していないということは、あなたの課題を設定した人に対して)議論するつもりです。この問題については、[Clean Code:アジャイルソフトウェア職人技ハンドブック(Robert C. Martin)](http://tinyurl.com/CleanCodeBook)をお読みください。私の謙虚な意見では、[単体テストははるかに優れた形式の文書です](http://en.wikipedia.org/wiki/Unit_testing#Documentation)。 – Johnsyweb
答えて、私はコードが* how *を説明し、コメントは* why *を説明すると主張します。ドキュメンテーションを構築するには、ドキュメンテーションを必要とします。しかし、これはSOとProgrammers.SEの多数の質問で議論されました。 – fjarri