2010-08-12 5 views
1

Каков наилучший способ сравнения сложности кода функционального языка и императивного языка?Измерительная сложность кода функционального языка и императивного языка

В моем случае мне приходится сравнивать сложность некоторых программ, написанных на F # и C++. Как сейчас в качестве меры качества кода я использую строки исходного кода.

ответ

2

Нет «лучшего» способа. Нет даже отдаленно приемлемого способа.

  • SLoC (и связанные измерения, такие как количество символов) совершенно бессмысленны; обратитесь к Википедии за резюме наиболее распространенных критических замечаний, если вы хотите, чтобы более абстрактная вещь считалась «атомными элементами» программы, вам нужно было решить, что вы считаете таковым, - и многие не согласятся, по праву, потому что этот вопрос в основном неразрешим.
  • Кроме того, такие сравнения являются более справедливыми, потому что большинство из них используют примеры проблем, которые, как правило, решаются более естественно на одном языке или другом. Каждый пытался реализовать Accumulator Factory в C++? Теперь вспомните, что проблема была предложена защитником Лиспа (Paul Graham) ...
  • Кроме того, многие утверждают, что действительно умное решение, которое использует очень мало строк/символов/«атомных элементов», не является лучшим решением в любой otherway - посмотреть на код гольф

Все вещи считаются, лучшим решением может принимать множество различных проблем реального мира, решая их идиоматически на разных языках, и просто неформально, глядя на источник и принятия решения, который выглядит более элегантно.

+0

LOC имеет очевидные достоинства, поскольку он измеряет, сколько кода нужно читать. –

Смежные вопросы