среда, 9 мая 2012 г.

Book: Программист-прагматик - 2, гл. 3-8

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. Тестируйте беспощадно. Тестируйте в т.ч. сами тесты - специально поставьте неправильный вывод и т.п. и проверьте, найдёт ли его текст.

Комментариев нет:

Отправить комментарий