14.01.2004, 16:13 | #21 |
Участник
|
Спасибо, очень подробный ответ. Я бы даже сказал, что вы провели некоторое мини-исследование в области лингвистики и программирования, что не может не радовать.
P.S. Очень хороший форум... |
|
14.01.2004, 16:28 | #22 |
Шаман форума
|
Цитата:
Сообщение от Ruff
Ведь никто не будет спорить, что b-- - dead code?
Вот и читай после этого Best Practices... То есть, верь после этого людям! Написано-то складно, а на деле... Вопрос в том, чего мы пытаемся добиться при использовании Best Practice - если читаемости кода, то оба варианта, с которых вся дискуссия началась, вполне читаемы и понятны - нету тут однозначно "лучшего". По поводу взглядов на то, что есть "идеальное" программирование есть интересная статья (или как это называется) http://www.catb.org/~esr/jargon/html/story-of-mel.html - может, я и не прав, но такое программирование, хоть и вызывает восхищение у авторов, у меня его почему-то не вызывает...
__________________
All information in this post is strictly confidential. If you have read it in error, please forget it immediately. |
|
15.01.2004, 08:26 | #23 |
Гость
|
Не во всем согласен.
Во-первых, в том примере, который я привел, строка b-- - это именно "never reached". Два ретурна в условном операторе проверить довольно просто. Поверьте, я не высасываю из пальца - я писал компиляторы... Для этого даже не нужно специальных ухищрений - все само всплывет на этапе семантического анализа (а при использовании некоторых способов - даже на этапе синтаксического анализа). А во-вторых, что касается избыточности кода (опять же, что понимать под этом термином ), то существуют и на это способы оптимизации (например, см. http://www.codenet.ru/progr/optimize/ccode.php). Вот пример из статьи с удалением "лишнего" цикла (компилятором): Код: int x; x = 0; for( i = 0; i < 5; i++ ) /* Цикл не должен генерироваться*/ k5 = x + j5; |
|
15.01.2004, 12:33 | #24 |
Участник
|
Цитата:
Сообщение от Ruff
оптимизация - это уже забота программиста.
__________________
WBR, Anton |
|