機能的言語と命令言語のコードの複雑さを測定します
-
28-09-2019 - |
質問
機能的言語と命令言語のコードの複雑さを比較する最良の方法は何ですか?
私の場合、F#とC ++で書かれた特定のプログラムの複雑さを比較する必要があります。今のところ、コード品質の尺度として、ソースコードの行を使用しています。
解決
「最高の」方法はありません。リモートで許容される方法さえありません。
- SLOC(および文字カウントなどの関連測定)はまったく意味がありません。最も一般的な批判の要約については、ウィキペディアを参照してください
- プログラムの「原子要素」のように、より抽象的なものを数える必要がある場合、あなたはそのようなと考えるものを決定することができました - そして、多くの人は、この問題はほとんどが有効であるため、当然のことです。
- また、そのような比較はRarley Fairです。なぜなら、それらのほとんどは、どちらかの言語でより自然に解決される傾向がある問題の問題を使用しているからです。すべてを実装しようとしました アキュムレータ工場 C ++で?この問題は、LISPの支持者(Paul Graham)によって提案されたことを忘れないでください...
- さらに、多くの人は、非常に少数の行/文字/「原子要素」を使用する本当に賢いソリューションが他の方法では最良の解決策ではないと主張するでしょう - コードゴルフを見てください
すべてのことを考慮して、最良の解決策は、多くの異なる現実世界の問題を取り、異なる言語で慣用的に解決し、情報源を非公式に見て、どちらがよりエレガントに見えるかを決定することです。
所属していません StackOverflow