3

だから、私はコーディングしていて、本質的にこのコード行を手に入れました

return parseInt(trim(elem.value.substring(1, elem.value.length)))

そして、私は考えていましたが、これは適切なのか、それとも教授/雇用主がそのようなコード行を許可したことで私を非難するのでしょうか。

整理整頓はいいのですが、一見すると何をしていたのかわかりにくい気がします。これはそれほど悪くはありません。ほとんどの呼び出しは十分に一般的です(intであることを確認し、変換が機能するように文字列をトリミングし、文字列の先頭から不要な情報を削除します)

でも、これでいいの?それとも、将来のプログラマーが理解しやすいように、分割して各行にコメントする必要がありますか? お気に入り...

var returnInt;
returnInt = elem.value.substring(1, elem.value.length); //remove $ symbol
returnInt = trim(returnInt); //trim whitespace
returnInt = parseInt(returnInt); //convert to int
return returnInt;

検索してもわからなかったので、何かあったらすみません。

4

3 に答える 3

1

最初の形式は問題ありませんが、NullPointerExceptionsなどのランタイム例外のデバッグが困難になる可能性があります(スタックトレースは行番号を返し、1行に複数のものがある可能性があるため)。したがって、NPEが発生する可能性がある場合は、複数行に書き出してください。

また、行ごとに行末コメントを付ける必要はありません。トリムとparseToIntが最も初心者のプログラマー以外の人に何をするかはかなり明白であり、単純なグーグル検索はとにかくそれを明らかにするでしょう。

于 2012-12-13T18:52:32.320 に答える
1

コードを適切にフォーマットする限り、問題ありません。たとえば、行は次のようになります。

return parseInt(
         trim(
           elem.value.substring(1, elem.value.length)))

見積もり:

それとも、将来のプログラマーが理解しやすいように、分割して各行にコメントする必要がありますか? お気に入り...

var returnInt;
returnInt = elem.value.substring(1, elem.value.length); //remove $ symbol
returnInt = trim(returnInt); //trim whitespace
returnInt = parseInt(returnInt); //convert to int
return returnInt;

それは簡単ではありません。過度の可変性は悪です。値の型が異なる場合、これは機能しません。(おっと、おそらく動的型付け言語を使用しているでしょうが、returnInt一部のプログラム状態では が実際には ではないため、 var の名前は誤解を招く可能性がありますInt)。このようなコードを書かないでください。

于 2012-12-13T18:55:34.370 に答える
0

教授や雇用主がそれについてどう思うかは気にしません。本当に長くならない限り、私はいつも、そのように理解しやすく明確であるような単純なステートメントをインライン化します。

分解するともっと複雑に見えると思います。そして、私は役に立たないアセスメントを嫌い、等号です。私は本当に本当に複雑なことをし、他の人や将来私のためにコメントが必要なときにだけステートメントを破ります。

あなたの例では、すべてのステートメントは非常に単純で明確です。それらのどれも、平均的な開発者へのコメントや説明を必要としません。

于 2012-12-13T18:49:10.153 に答える