17. Сохраняйте данные в виде простого текста. Так проще править руками
18. Графические интерфейсы:
преимущество - WYSIWYG - получаешь то, что видишь
недостаток - WYSIAWYG - получаешь только то, что видишь
Поэтому любите командную строку, а в ней - cygwin или даже UWin.
19. Используйте 1 редактор, но по максимуму. Требования: настраиваемость, расширяемость, программируемость
20. Отлаживать без паники. Не обвинять, а исправлять. Не предполагайте - доказывайте.
21. Добиться воспроизводимости, и только потом чинить. Метод “резинового утёнка”
22. Используйте язык обработки текстов, чтобы сгенерировать данные и или даже текст самой программы.
23. Совершенных программ не бывает. Бывают программы, которые легко поддерживать.
24. Пользуйтесь исключениями только в исключительных случаях.
25. Если запутались - применяйте закон Деметера. Но без фанатизма.
26. Настройка лучше интеграции. Текст программы - абстракция, метаданные - подробности.
27. Проектируйте, не забывая о службах - некоторые процессы так и просятся, чтобы их распараллелили. Для распределённых приложений - концепция доски объявлений.
28. Реорганизуйте чаще, раньше, регулярней.
29. Проектируйте с учётом тестирования. Тестируйте сами, иначе это будут делать пользователи. Применяйте, если надо, журнал или даже секретное отладочное окно (пользователю не говорить).
30. Работайте с пользователем, чтобы говорить на его языке.
31. Абстракции живут дольше потребностей. Поэтому, например, проекту нужен иногда глоссарий - что как называется.
32. Не размышляйте вне ящика = найдите его. Все возможные решения, включая безумные - в список и на проверку. Так же выпишите ограничения.
33. Вопросы, если упёрлись:
Можно ли сделать проще?
Мы решаем проблему, или увязли в деталях?
Почему это проблема?
Что делает её сложной?
Нужно ли это?
34. Начинайте, когда знаете, что будете делать. Иначе дров наломаете.
35. Автоматизируйте всё.
Генерация текстов - Perl
Системные дела - Cmd, Cygwin (теперь и PowerShell)
Тестирование интерфейса - есть и для этого средства (в наше время - iMacro, AutoIt)
36. Тестируйте беспощадно. Тестируйте в т.ч. сами тесты - специально поставьте неправильный вывод и т.п. и проверьте, найдёт ли его текст.
18. Графические интерфейсы:
преимущество - WYSIWYG - получаешь то, что видишь
недостаток - WYSIAWYG - получаешь только то, что видишь
Поэтому любите командную строку, а в ней - cygwin или даже UWin.
19. Используйте 1 редактор, но по максимуму. Требования: настраиваемость, расширяемость, программируемость
20. Отлаживать без паники. Не обвинять, а исправлять. Не предполагайте - доказывайте.
21. Добиться воспроизводимости, и только потом чинить. Метод “резинового утёнка”
22. Используйте язык обработки текстов, чтобы сгенерировать данные и или даже текст самой программы.
23. Совершенных программ не бывает. Бывают программы, которые легко поддерживать.
24. Пользуйтесь исключениями только в исключительных случаях.
25. Если запутались - применяйте закон Деметера. Но без фанатизма.
26. Настройка лучше интеграции. Текст программы - абстракция, метаданные - подробности.
27. Проектируйте, не забывая о службах - некоторые процессы так и просятся, чтобы их распараллелили. Для распределённых приложений - концепция доски объявлений.
28. Реорганизуйте чаще, раньше, регулярней.
29. Проектируйте с учётом тестирования. Тестируйте сами, иначе это будут делать пользователи. Применяйте, если надо, журнал или даже секретное отладочное окно (пользователю не говорить).
30. Работайте с пользователем, чтобы говорить на его языке.
31. Абстракции живут дольше потребностей. Поэтому, например, проекту нужен иногда глоссарий - что как называется.
32. Не размышляйте вне ящика = найдите его. Все возможные решения, включая безумные - в список и на проверку. Так же выпишите ограничения.
33. Вопросы, если упёрлись:
Можно ли сделать проще?
Мы решаем проблему, или увязли в деталях?
Почему это проблема?
Что делает её сложной?
Нужно ли это?
34. Начинайте, когда знаете, что будете делать. Иначе дров наломаете.
35. Автоматизируйте всё.
Генерация текстов - Perl
Системные дела - Cmd, Cygwin (теперь и PowerShell)
Тестирование интерфейса - есть и для этого средства (в наше время - iMacro, AutoIt)
36. Тестируйте беспощадно. Тестируйте в т.ч. сами тесты - специально поставьте неправильный вывод и т.п. и проверьте, найдёт ли его текст.
Комментариев нет:
Отправить комментарий