Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2016, 19:26   #1
Gregor
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 208
Вопрос Оптимзация кода

Добрый всем вечер! Недавно начал войну за чистоту кода. Уж больно надоели переменные типа a , b, _ , функции на 500 строчек кода... не оптимальные алгоритмы и т.д. Но встретил жуткое сопротивление в отношении этих вещей. Поставил вопрос о не используемых функция , процедурах и даже богом забытых классах. На что мне ответили, что они могут быть использованы в будущем. Но зная этот код и кухню изнутри могу с уверенностью сказать , что не будут. Так вот у меня вопрос. Может я что то проспал или не те книжки читал или может я не туда попал? Кто что думает?
интенсивно гуглю прежде чем задать вопрос
Gregor вне форума Ответить с цитированием
Старый 26.01.2016, 19:40   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
переменные типа a , b, _ ,
Вы про название, скорей всего. Моё мнение таково. Разумеется, переменную надо называть так, чтобы оно отражала её суть, назначение, быть легко произносимым, не очень длинным. Имя "_" - довольно экзотическое, его не стоит использовать, хоть оно и допустимо. Что же касается "a" или "b". Опять-таки, здесь надо отталкивать от того, где они используются. Если в небольшой вспомогательной подпрограмме, то почему бы и нет. Но, если оно примется в каком-то основном методе или используется довольно часто или там содержатся важные/сложные данные (не простая переменная, а структура/объект), но надо бы её назвать по-нормальному.

Цитата:
функции на 500 строчек кода.
Ну и что? Быть может, я чего-то не понимаю, но, вдруг её нельзя записать короче без ущерба удобочитаемости и понятности?

Вот вы говорите про "оптимизацию". А вот есть такое понятие, как рефакторинг - это придание коду понятности и удобочитаемости. Дело в том, что эти понятия, "оптимизация" и "рефакторинг" - диаметрально противоположны. Оптимизируя код, мы делаем его менее понятным человеку, то есть, чтобы его понять, потребуется больше времени.

Вы уверены, что оптимизируя ваш код, с ним станет удобнее работать, его будет легче читать?

Последний раз редактировалось Вадим Мошев; 26.01.2016 в 19:50.
Вадим Мошев вне форума Ответить с цитированием
Старый 26.01.2016, 19:44   #3
Gregor
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 208
По умолчанию

а что думаете по поводу нигде неиспользуемых функций и классов?
интенсивно гуглю прежде чем задать вопрос
Gregor вне форума Ответить с цитированием
Старый 26.01.2016, 19:50   #4
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

на мой взгляд, имена переменных/процедур, должны быть понятны настолько, чтобы не требовалось писать кометарии к ним. имена типа "а", "б", "муму" допустимы для вспомогальных (временных переменных) не имеющих особого веса в рамках задачи.
неиспользуемые куски лежат тихо и спокойно, поэтому особого презрения к ним не испытываю.
вся остальнальная оптимизация кода - это на любителя. не раз уже видел как нелюбители процедур на 500 строк (или больше) рвут ее на десятки макросов.. и это оптимизация кода?? у меня при виде такого появляется острое желание отпинать кого-то ногами.

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

Последний раз редактировалось f.hump; 26.01.2016 в 20:10.
f.hump вне форума Ответить с цитированием
Старый 26.01.2016, 19:51   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Я, кстати, обновил своё сообщение, прочитайте.
По поводу функций и классом дам ответ позже.
Вадим Мошев вне форума Ответить с цитированием
Старый 26.01.2016, 20:48   #6
Gregor
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 208
По умолчанию

ну наверно про 500 строчек не соглашусь с вами в любом случае. это как минимум 5-7 экранных страниц.
интенсивно гуглю прежде чем задать вопрос
Gregor вне форума Ответить с цитированием
Старый 26.01.2016, 21:01   #7
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Gregor Посмотреть сообщение
ну наверно про 500 строчек не соглашусь с вами в любом случае. это как минимум 5-7 экранных страниц.
Ну и что? Я понимаю, много кода, на один экран не умещается, но если того требует функция, что делать?
Вадим Мошев вне форума Ответить с цитированием
Старый 26.01.2016, 21:20   #8
Gregor
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 208
По умолчанию

я понимаю что есть алгоритмы на несколько страниц, но есть же стандарты и исследования по этому поводу. соглашусь так же с тем что нельзя слепо придерживаться этих рамок. Вот вспомнил книжку Макконнелла «Совершенный код» стр 169. как раз про это
интенсивно гуглю прежде чем задать вопрос
Gregor вне форума Ответить с цитированием
Старый 26.01.2016, 21:28   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

могу показать, как пишу код я. Вдруг понравится?
Вложения
Тип файла: zip малюсенький_модуль_чиста_пасматреть.zip (15.1 Кб, 32 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 26.01.2016, 21:40   #10
Gregor
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 208
По умолчанию

чем в твоем случае обусловлен префикс A в параметре функций? я раньше тоже так делал что бы отличить параметры от локальных переменных, но пришлось принять правила команды.
интенсивно гуглю прежде чем задать вопрос
Gregor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компиляцию кода MAtlab в C++Builder и использование преобразованного кода .м в C++Builder Leg1oner C++ Builder 0 07.01.2014 18:15
Автоформатирование кода с++? TwiX Свободное общение 6 28.09.2011 17:52
Распознавание Аски кода и скан кода MyLastHit Общие вопросы Delphi 8 06.12.2010 18:34
Улучшение кода Rusl92 Помощь студентам 4 23.09.2010 19:15
Выдернуть куски кода из html-кода trafbite Помощь студентам 7 18.08.2007 13:51