gD-tNhqP3pY.jpg
Модератор: Модераторы
Полезные НЕ советы программисту
4) Никогда не используйте const
Программисты как никто другой знает, что мы живём в бурном и быстро развивающемся мире, где все меняется очень быстро. А значит и использовать const смысла нет. Даже когда объект очевидно const, например кол-во спутников земли (у нас всего одна луна), то все равно по какой-то причине луна может расколоться на две. И придётся делать:
5) Давайте переменным максимально короткие имена
Ведь запомнить переменную x куда проще чем position_of_object_on_x_axis. Например, этот код выглядит лаконичным и удобно читаемым:
if ( x < y ) {
z++;
} else if ( c > q ) {
c += f;
} else {
r = z + c;
}
Низкий поклон за проделанный труд! Можно добавить еще один совет — пользуйтесь копипастой, где только возможно, ведь вызов процедурыфункции — это дополнительные инструкции и пустой расход ресурсов процессора.
Не говоря уже о том, что при копипасте можно внести во вставленный кусок небольшие оптимизирующие изменения, связанные со спецификой конкретно этого вызова (например, если один из параметров — степень двойки, то все умножения на него заменить на сдвиги). Главное при этом — не менять комментарии: это лишняя трата времени и умственных усилий, которые можно направить на что-нибудь более полезное. Например, на защиту от спонтанного изменения битов.
А вот бывают случаи, когда без копипасты не обойтись. Например, большой switch, в котором несколько веток изменить нужно. Как красиво это сделать я не понимать.
nochkin 20 ноября 2015 в 06:39
Сделать красиво достаточно просто — надо переписать этот участок кода на ассемблере.
Или заменить на множество вложенных if elseif elseif else, это даст возможность больше кастомизировать условие, да и вообще switch — это же моветон!
int LIeJIoe_koJIu4ecTBo6ykB; // целое
float Dpo6Hoe_rJly6uHa6acceuHA; // дробное
bool JIOru4eckoe_ectbJIu7Ku3HbHaMapce;
Хм, про такую нотацию даже не подозревал :
Код: Выделить всё
int LIeJIoe_koJIu4ecTBo6ykB; // целое
float Dpo6Hoe_rJly6uHa6acceuHA; // дробное
bool JIOru4eckoe_ectbJIu7Ku3HbHaMapce;
// логическое
LI = Ц, e = е, JI =Л, o = о, e = е (ЦеЛое)
k = к, o = о, JI =Л, u = и, 4 = ч, e = е, c = с, T = Т, B = В, o = о (коЛичесТВо)
6 = б, y = у, k = к, B = В (букВ)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3