Evgeny_CD (24.06.2007 22:14, просмотров: 1) ответил AlexandrY на Мне в принципе нравится ваше направление мыслей.
Простота не противоречит эффективному решению целевой задачи. Эффективное решение не следует из простоты. Свобода обязательно долна быть - свобода использовать все возможности языка, компилера, ассемблера, платформы.
Ограничения и правила обязательно должны быть, но они должны буть управляемыми и контектсно зависимыми.
Обязательно должен быть способ попилить задачу на куски и специфицировать интерфейсы между кусками. Это нужно и для групповой работы, и для себя - понять через месяц, что же я накодил в приступе просветления.
Нужно специфицировать не только вызовы, но и все структуры данных, которые участвуют во взаимодействии.
Обязательно должна быть графическая тулза для создания различных представилений проекта. Важно!!!:
* тулза должна быть автоматической. Т.е. если я в коде написал переменную - я не буду как дурак через Ctl-C/Ctl-V копировать ее в Visio, "оно само" должно ее из кода взять
* задачу можно решать и наоборт - по диаграмме генерить заготовку кода, а затем скриптом проверять - не появилось ли в коде внешних сущностей после завершения разработки.
Также должна быть система автоматического документирования. А ля doxygen- красиво, но хотя бы иметь файл в корне модуля, где было бы указано для каждой внешений сущности (которую данный модуль экспортирует во внешний мир) file:line где она определена, прототипы и пр. Тогда для любого IDE несложно сделать макрос, который на основании такого файла устроит навигацию по коду просто на ура, причем в такой навигации не будут мельтешить ненужные, внутренние, сущности модуля.
Ну и буки читать. Много, но не подряд. С людьми мудрыми советоваться.