Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемin4mix2006.narod.ru
1 Проектирование и дизайн ПО Дмитриев Андрей Владиславович
2 Как написать программу, которую невозможно поддерживать? Зачем писать сложные программы? Методика работы инженера. Как написать сложную программу? Сопроводительная документация.
3 Зачем писать сложные программы? Никто не сможет поддерживать ваш код. Вас не смогут уволить. В глазах других разработчиков вы будете выглядеть как чрезвычайно опытный программист.
4 Методика работы инженера Порядок внесения изменений в программу: Понять задачу. Найти место в программе, которое нужно изменить. Понять, как изменить программу. Оценить последствия в соответствии с документацией. Внести изменения. Провести тестирование.
5 Выбор имен переменных Овладение искусством выбора имен переменных – залог успеха в запутывании программы. Односимвольные переменные: f, t, h,… Креативные опечатки: setDoubleValue(), setDuobleValue(). Внесение абстракции: doStuff(), handleThatNow(), doAgain(), … А.К.Р.О.Н.И.М.Ы.: clrMgmSmmf(). Используйте символы «_».
6 Широкий выбор имен для одинаковых методов Одна и та же функциональность может быть представлена различными именами: show(), display(), printOnScreen(), paint(), …
7 Используйте термины из фильмов и иностранные слова Тот, кто не видел этого фильма, недостоин писать программы: klingons, hobbitese, pluraloj, …
8 Переиспользуйте переменные int price = getPrice(); printReport(price); … price = getOranges(); Особенно полезно это делать в длинных методах.
9 «Почти стандартные» имена Используйте имена, похожие на известные: public void prit(String s){ System.out.println(String s); }
10 Инновационные комментарии while(true) { arr[i++] = calculateValue(i); /* этот цикл d = i--; * должен выполняться до if (d==0){ * тех пор, System.exit(0); * пока d не } * равно нулю */ revalidate(arr[i]); } Сколько операторов внутри цикла?
11 «Подробная» документация Скажите неправду в комментариях к программе. Указывайте «как», а не «почему». Избегайте описывать «очевидное» и наоборот: int tmp; //новая временная переменная. //содержит целые числа. //при завершении метода она пропадает! char c = s.substring(i, s.length()-3); //тут все просто.
12 Используйте придуманные термины Слово кажется вам забавным? Используйте его в комментариях как термин: snafucated.
13 Полное доверие к данным Никогда не проверяйте получаемые данные. Этим вы продемонстрируете что полностью доверяете своим клиентам.
14 Используйте статические массивы Почаще создавайте статический массив (размером 512х512) в классе. Даже если он никогда не используется, память будет расходоваться.
15 «Подписывайте» свои классы Реализуйте пустой интерфейс MadeByMe и помечайте им все свои классы. Настаивайте на том, чтобы каждый член команды делал также: MadeByIvan, MadeByGrisha, MadeByKatya…
16 Глобальные переменные Использование глобальных переменных продемонстрирует что вы кристально ясно понимаете этот код. Это также потребует кристального понимания от других инженеров….
17 Наращивайте размер классов Старайтесь создавать как можно меньше различных классов – это экономит память. Например, класс Vehicle должен содержать данные о текущей погоде и данные о состоянии ближайших заправок.
18 Используйте литералы Вместо именованных констант всегда используйте значения: for (int i = 0; i < 100; i++) { … } Это заставит программиста разбираться в программе глубже и находить все места использования, если вдруг данное значение нужно будет поменять.
19 Сокращайте объем исходного кода public class SimpleSummer { public long sum(intstart, int stop){ long acc = 0; for(int i=start;i
20 Исключения Используйте исключения (например, ArrayIndexOutOfBoundsException) для выхода из цикла или безусловного перехода.
21 {} Не используйте скобки там где это можно не делать: if (value == 0) value = 100; При добавлении второй строчки в тело блока нужно будет быть внимательным.
22 Тестирование Никогда не пишите тестов. Не оценивайте производительность и не тестируйте.
23 Выводы Чтобы стать незаменимым человеком, достаточно немного изменить программу.
24 Q&A
25 Дмитриев Андрей Владиславович Спасибо!
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.