EvilShadow писал(а) Птн, 09 Июня 2006 22:21
Почему? Время парсинга не обязательно определяется количеством строк кода.
это зависит скорей от компилятора, но C в он может довольно быстро разобрать, в моем примере компилятор:
1) читает все выражение до терминатора ';'
2) разбитвает на блоки
3) сразу выделяет h как переменную просто читая до &&
4) идет идет вглубь скобок определяя контент как поинтер
5) к которому прибавляется mips_non_lazy_relocs
6) + константа true
это все очень простой парсинг, с парой локапов в хэш тейбл, в Си коде тоже будет в 6 строк.
в варианте gnu, ему придется поднятся обратно до более выскокой функции парсинга кондиционалов, и на несколько вызовов суб-функции парсера выражений и локапов в хэш тейбл больше; хотя все зависит от дизайна компилятора =/
ну а оптимизатор разумеется от этого быстрее работать не станет, разве что мы все кондиционалы на goto заменим =)
EvilShadow писал(а) Птн, 09 Июня 2006 22:21
Я переношу Затем, что мне так нравится. Для симметрии
красота но не всегда облегчает понимание кодеры ядра Linux по этому даже статью написали, но это как спор между Big Endian и Little Endian - первый более красивый, второй более практичный... так что постоянно вспоминаем Свифта
EvilShadow писал(а) Птн, 09 Июня 2006 22:21
Хм... я такого не видел, но если такое есть - это бред, конечно Причем исключительно в этом контексте, в других случаях именно a и b - это зло.
для глобальных длинные имена ok, а внутри функции обычно не нужно больше 3-х переменных x, y, z. в C++ глобальных вообще не должно быть, посему все имена короткие.
EvilShadow писал(а) Птн, 09 Июня 2006 22:21
Стиль унифицируется для возможности поддержки продукта большим количеством людей и совместной разработки. Для этих же целей часто не используются многие возможности Си - красивую и эффективную формулу порою очень непросто понять...
Стиль же Микрософта - это мой ночной кошмар, не надо на ночь вспоминать
в микрософт тоже унифицировали и получились переменные с красивыми названиями mpdwsNumberOfInstances (потренируйтесь в быстром написании ), что расшифровывается как "member private dword static", хотя я сам использую префикс m для данных класса, но не более, ибо даже это лишне при отсутствии глобальных переменных, и макро, а NumberOfInstances можно записать как ninst, и поставить в декларации коментарий, посему в C++ префиксы ненужны вообще.