" писал(а):Препод у меня вон постоянно говорит, как они раньше на машинах с 2к памяти работали. Там понятное дело, хочешь не хочешь, а надо код сокращать, если есть возможность.
С двумя и даже ста двадцатью восмью килобайтами оптимизация, по-моему, вообще не имеет смысла, так как в эту память всё равно не влезет никакая запись алгоритма решения сложной задачи, а только такая задача и может решаться долго (даже на машинах с тремя и менне мегагерцами). А вот на современных компах, новые проги. решающие недавно возникшие сложные задачи, приходится так оптимизировать, что раньше это сочли бы невозможным. Я недавно писал прогу и мне пришлось прямо в приладе сжать данные в 14,78 раза, иначе она висела намертво.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
" писал(а): Если требуется работать с указателями, то удобнее использовать ассемблер, т.к. ни один из языков высокого уровня в своей семантике не дает четкой логики в операциях с указателями - т.е. не всегда понятно - производится ли запись в сам указатель либо в адрес куда он указывает.
Бред. Наоборот, ассеблер её не даёт. А c++ (явно высокого уровня) даёт такую логику. синтаксис и симантику указателей, что впору перевернуть сисемблер: писать основу на ассемблере, а всё что использует указатели, вставлять на плюсплюсе.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
" писал(а):Коментарии нужны - коментарии выжны, но стараюсь создавать код, который сам по себе есть коментарий. Относиться к названиям переменных, процедур и функций, классов, типов, меток и пр. идентификаторов
Хорошо, что ты это умеешь. Мне кажется, что и я умею, но сомневаюсь. А многи не умеют точно. ССВ, например, (если на формуме есть его тёзка, просьба не обижаться - имеется ввиду
не форумчанин) пишет так, что пока в жалких двух тысячах его строк разберёшся, обязатльно плюнешь, напишешь тысяч триста своих и будешь считать, что поленился.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
" писал(а):А потом подумал: а зачем нужны две последних проверки?
Никогда так не делаю. Мой вариант: если заню, что правило четырёхтысячного утверждено, то воткну и его проверку.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
" писал(а):При разработке 32-битных приложений даже если переменная принимает 0 или 1 - желательно задать ей тип DWORD. Это связано с тем, что шина памяти принимает выровненный адрес запрошенного блока. Если это не так, то потребуется прочитать/записать еще один блок. Это замедляет обращение к переменной в 2 раза.
Так тоже не делаю. Каков тип переменной задачи, так и декларирую переменную программы. А если нет возможности определить диапазон значений, то все такие инты в виде восьмерых слов.
" писал(а):После (4) понимаю, что многие функции можно выразить в одну строчку, а некоторые не нужны совсем.
Ага. А ещё десять нужных функция оказывается незапалнировано. Пишем их в самом конце для замены инлайнов и других функций.
" писал(а):Логически разбиваю задачу на подзадачи
2. Пишу рабочий и функциональный код не обращая внимания на реализацию.
С этого, по-моему, надо начинать. Да не все так делают.