どのように数式が読みやすく、保守性作るのですか?
-
19-09-2019 - |
質問
を考えると数学Iは、3Dアニメーションのためのベジェ曲線を実装しています私の最強のポイントではありません。
式はこちら示され、そしてあなたが見ることができるとして、それは非常に厄介です。私のプログラミングでは、私は、わかりやすい名前を使用し、より小さな扱いやすいものまで、複雑なラインを壊すのが好き。
どのようにこのようなシナリオを処理するための最良の方法は何ですか?
これは、プログラミングのベストプラクティスを無視して、このようなX、Y、およびTなどの変数名に固執するか?
解決
私の意見では、短い変数名を使用することは完全に可能です。しかし、明らかに式を参照することを確認します。
他のヒント
式は、独自の機能にextratedされている場合、私は確かに標準的な数学表現を使用し、多分コメントにwikiページのURLを追加すると思います。
そのその後、良いかもしれないあなたのコードからドメイン名を維持する機能の具体的な使用方法とコードに埋め込まれている場合
それが依存
あなたが実際に式を理解しようとしている中でのみと数学者を見て、私のアドバイスは、数学者が最も快適になりますスタイルで行くことになります(などの変数として手紙そう...)
また、私は間違いなく、明らか式が何であるかを述べ、それが何をするか、たとえば「この方法は、二次ベジェ曲線に沿った一連の点を返す」というどこかでそこにコメントを入れてしまうでしょう。あなたの中に、プログラマは、あなたが安全にあなたの内側の数学者が既に確認してくださいそのすべてがOKにするためにチェックした前提で数学の複雑さを無視することができます。
コードを再訪するたびにその方法私は数学のベストプラクティスを使用して文字で変数を表すことをお勧めしたいです。ただ、上記式の変数の説明を提供します。そして、あなたはより良い、より小さな下位式に式を分割することができます。
気にしないでください。ただ、ドキュメント(この場合はWikipediaのページまたはより良い独自のドキュメント)を参照し、変数名があなたのドキュメントを一致させることを確認してください。コードのコメントだけではあまり適していない(またしてそれらを必要とする)数学的定式化を説明します。
時々、参照は、40本のコメントのラインあるいは暗示変数名よりも優れています。
できるだけ近い数式に似ているC#の(または優先の他の言語)で式を作成し、変数の説明を含む式への参照を含みます。コーディングでのアイデアが読めるようになり、あなたが数式を扱っている場合は、最も読みやすい表現は数学のように、ほとんどのように見えるものです。
私は、その根本部分にダウン式を破壊する傾向ます。
def sum(array)
array.inject(0) { |result, item| result + item }
end
def average(array)
sum(array) / array.length
end
def sum_squared_error(array)
avg = average(array)
array.inject(0) { |result, item| result + (item - avg) ** 2 }
end
def variance(array)
sum_squared_error(array) / (array.length - 1)
end
def standard_deviation(array)
Math.sqrt(variance(array))
end
あなたはこれを処理するために、ドメイン固有言語を使用して検討するかもしれません。 Mathematicaはあなたはそれが数学的概念に表示されて同じように式を書くことができるようになります。
より多くのあなたの最終的な形は、元の方程式に似ている、より保守は、それは(そうでなければ、コードにあなたがそれを見るたびに解釈する必要がある)長期的になります。