ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

26.12.2009, 12:28
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
1)Падение производительности
да, для сишарпа это конечно проблема =) когда я тестировал c++ vs c#, шарп выйграл по причине инлайнинга функций. пришлось задавать _forceinline. так что я бы не сказал, что здесь можно ощутить проблемы.
2)Необходимость передачи в функцию большого числа параметров.
до 6-7 параметров человек вполне переварит. на худой конец передавай объект класса.
3)Код начинает изобиловать кучей малопонятных функций, с неопределенной семантикой
Кто мешает здраво именовать функции, на худой конец комменты никто не отменял.
|
|
|

26.12.2009, 16:12
|
|
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме: 10605912
Репутация:
4693
|
|
Сообщение от Algol
Почему-то никто не отреагировал на критику такого подхода. На всякий случай повторю:
1)Падение производительности
2)Необходимость передачи в функцию большого числа параметров.
3)Код начинает изобиловать кучей малопонятных функций, с неопределенной семантикой.
По пунктам:
1) Время работы программиста куда дороже времени работы системы, а удобство понимания кода сильно на это время влияет. Мало того, многие классики начиная с Фаулера, и заканчивая более современными авторами рекомендуют не оптимизировать код до того как его прогнали профайлером, т.к. при мелочной оптимизации может оказаться, что ты оптимизируешь отнюдь не критичный участок, а читабельность кода в целом падает (а значит и время дебага, добавления новой функциональности растёт в разы). Т.е. на первом этапе оптимизация должна быть алгоритмической, а после профайлера, можно задумываться над push/pop и т.д., да и то только на самых часто вызываемых/тормозящих участках.
2) Это не страшно, главное давать осмысленные названия. Ну и не перегружать тела функций. Да и более 5 параметров практически никогда не бывает. К тому же, всегда часть кода можно вынести в отдельный класс.
3) Названия функций должны говорить сами за себя. А не func1, func2, func3 
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..
Мой блог: http://qwazar.ru/.
Последний раз редактировалось Qwazar; 26.12.2009 в 16:17..
|
|
|

26.12.2009, 17:23
|
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме: 2050916
Репутация:
0
|
|
Касаемо падения производительности - спорно. Далеко не всегда возможен инлайн, и на вызов метода в любом случае тратится время.
А касаемо осмысленных названий, так в том то и дело , что это куски алгоритма и у них нет отдельной и понятной семантики.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|