Самое горячее: Европа признала соцсети опасными (50); "Фобос-Грунт" уже не спасти (11); Мобильники убивают детей (26); ЕЩЕ >>
РАЗДЕЛЫ
Архив
« июнь 2020  
пн вт ср чт пт сб вс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

20 уроков программирования

Jonathan Danylko
Ноу-хау | 15.03.2010 10:13

Программист Джонатан Данилко поделился с читателями DCS Media своим опытом, сформулировав 20 наиболее ценных правил, которые он вывел за 20 лет работы. "Вебпланета" представляет перевод его статьи "20/20: Top 20 Programming Lessons I've Learned in 20 Years".

Я программировал с 11 лет и с тех пор полюбил технологии и программирование. Со временем я усвоил несколько трудных и лёгких уроков. Как коллеги-программисты вы могли и не сталкиваться с ними, но я предлагаю их тем, кому интересно вынести что-то полезное из моего опыта.

Вот наиболее запомнившиеся уроки, которые я усвоил за 20 лет работы:

1. Установите срок, который, как вам кажется, потребуется вам на решение проблемы

Да ладно, признайте: я такой же, как и любой другой программист. Я видел программистов, которые сидели перед монитором по восемь часов подряд, пытаясь решить какую-то проблему. Установите себе график в 1 час, 30 или даже 15 минут. Если вы не можете найти решение вашей проблемы за выбранный интервал времени, обратитесь за помощью или поищите решение в Интернете, вместо того чтобы пытаться быть супер-кодером.

2. Язык это язык это язык

Со временем, когда вы поймёте, как работает один язык программирования, вы заметите его сходства с другими языками. Язык, который вы выбираете, должен предоставлять вам подходящий уровень "комфорта", способность производить эффективный (и чистый) код, и, прежде всего, язык должен подходить к проекту и наоборот.

3. Не перестарайтесь с шаблонами проектирования

Иногда проще написать простой алгоритм, чем разработать шаблон-"одиночку" или шаблон-"фасад". По большей части, это также приводит к более чистому и понятному коду.

4. Всегда делайте резервные копии своего кода

В молодости я пережил полный сбой жёсткого диска и потерю большой части кода, из-за чего чувствовал себя ужасно. День, когда вы не сделаете бэкап данных, может оказаться тем самым днём, когда у вас будет жёсткий дедлайн, и клиенту будут нужны результаты уже завтра. То же самое касается исходников и контроля версий.

5. Вы не самый лучший в программировании. Смиритесь с этим

Я всегда думал, что я очень много знаю о программировании. Но всегда найдётся кто-то, кто лучше вас. Всегда. Учитесь у них.

6. Учитесь учиться большему

У меня всегда под рукой лежит журнал или книга по компьютерам или программированию (мои друзья подтвердят). Да, существует множество технологий, и быть в курсе всего — это работа в полную смену, но если вы с умом организовали способ получения новостей, вы каждый день будете узнавать что-то новое.

7. Перемены постоянны

Ваши знания технологий и/или программирования должны соответствовать тому, как вы обращаетесь с акциями: вкладывайте в разное. Не слишком удовлетворяйтесь какой-то одной технологией. Если спрос на этот язык или технологию окажется недостаточным, вам всё равно пора будет обновлять резюме и начинать период обучения. Какое моё главное практическое правило, которое меня спасало? Знайте как минимум два или три языка, так что если один отомрёт, вы сможете воспользоваться другим, пока изучаете новую технологию.

8. Помогайте молодёжи

Обучайте младших/начинающих разработчиков хорошим правилам и методам программирования. Кто знает... возможно, вас повысят, и вы будете чувствовать себя увереннее, если лично обучали и готовили их к их новой должности.

9. Упрощайте алгоритм

Кодируйте как одержимый, но когда закончите, пересмотрите код с самого начала и оптимизируйте его. Небольшое усовершенствование здесь и там в перспективе облегчит его поддержку.

10. Документируйте свой код

Неважно, касается ли это API веб-сервиса или же простого класса — документируйте по ходу дела. Меня, бывало, обвиняли в избытке комментариев к моему коду — и это то, чем я горжусь. Требуется какая-то секунда на то, чтобы добавить строку комментария к каждым трём строкам кода. Если речь идёт о трудном для понимания алгоритме, не бойтесь "перекомментировать". Это та проблема, на которую большинство создателей ПО, резервных кодеров и членов группы поддержки не жалуются, если вы выполняете свою работу правильно.

11. Тестируйте, тестируйте, тестируйте

Я фанат тестирования "чёрного ящика". Когда вы закончили кодировать, начинается период "получения одобрения". Если у вас имеется отдел гарантии качества, вам, возможно, придётся больше общаться с ними по поводу ошибок в коде, чем с руководителем вашего проекта. Если вы не будете тщательно тестировать код, то в результате можете получить кое-что помимо кода. Возможно, плохую репутацию.

12. Отмечайте каждый успех

Я встречал много программистов, которые решали головоломные задачи, используя великолепную технику программирования, после чего пожимали коллегам руки или хлопали ладонями об их ладони, или даже танцевали победный танец. У каждого в жизни бывают светлые периоды, и даже когда какой-то счастливый кодер попросит вас взглянуть на его исключительной красоты кусок кода, который вы за свою жизнь повидали раз сто, отпразднуйте успех с коллегой в 101-й раз.

13. Часто проводите ревизию кода — в проектах и лично

В компании у вас постоянно будут проходить ревизии кода на предмет того, как хорошо вы кодируете. Не смотрите на это так, словно ваш стиль кодирования подвергают распятию. Рассматривайте это как на конструктивную критику. В индивидуальных проектах также проверяйте свой код и всегда спрашивайте себя: "Как можно было сделать это лучше?" Это ускорит ваше обучение и улучшит вас как программиста.

14. Вспоминайте свои старые программы

На свой старый код можно смотреть двумя разными способами: "Не могу поверить, что я это написал" и "Не могу поверить, что я это написал". Первая фраза содержит отвращение и попытку понять, как этот код можно усовершенствовать. Вас удивит, как старый код может быть преобразован в лучшую подпрограмму или даже, возможно, отдельный продукт. Вторая фраза содержит удивление и успех. У разработчиков бывает один-два завершённых проекта, которые были замечены. Опять же, основываясь на вашем прекрасном умении кодировать, вы можете взять эти старые процедуры или проекты и усовершенствовать их.

15. Без юмора никуда

За 20 лет работы я ни разу не встречал программиста, у которого бы отсутствовало хорошее чувство юмора. Вообще в этой области наличие чувства юмора обязательно.

16. Опасайтесь всезнаек, кодеров-собственников и неопытных программистов

Смиритесь, если встретите кодера одного из этих типов. Всезнайка пытается затмить вас, вместо того чтобы работать в команде, собственник создаёт код, которым не хочет делиться с остальными, а неопытный кодер каждые десять минут обращается за помощью, так что в результате код получается ваш, а не его.

17. Не бывает простых проектов

Друзья, родные и коллеги не раз просили меня "склепать для них что-нибудь". Чтобы "склепать" программу или веб-сайт, потребуется планирование с участием обеих сторон, тогда выйдет нечто, удовлетворяющее всех. Если кто-то поначалу хочет сайт из трёх страничек с поддержкой Microsoft Access, это закончится 15-страничным сайтом с SQL-сервером, форумом и кастомизированной CMS.

18. Не принимайте ничего на веру

Если вы берёте простой проект, вы можете решить, что какую-то определённую его часть будет легко выполнить. Не допускайте даже такой мысли. Если у вас нет уже готового класса, компонента или части кода... который, к тому же, тщательно оттестирован... и уже работает в другом проекте — не думайте, что это будет просто.

19. Программа никогда не бывает закончена

Коллега-программист однажды сказал мне, что программа не бывает закончена, что она лишь "временно завершена". Хорошая мысль. Если клиент всё ещё пользуется программой, написанной вами и прошедшей испытание временем, почти наверняка вы её до сих пор обновляете, что совсем не плохо. Это обеспечивает вас работой.

20. Терпение — это, несомненно, добродетель

Когда клиенты, друзья или члены семьи используют компьютер, они могут в раздражении ударить по какой-то его части или начать ругаться. Я не устаю повторять: это вы управляете компьютером, а не наоборот. Вам понадобится определённый уровень терпения, чтобы программировать компьютеры. Когда программисты понимают, где они ошиблись, они смотрят на это с точки зрения компьютеров и говорят: "А, вот почему он сделал так".

Надеюсь, этот список полученных мною уроков кого-нибудь вдохновит или же заставит посмеяться.

разделы: Ноу-хау | Софт

Другие ноу-хау

Последние комментарии
об издании | тур по сайту | подписки и RSS | вопросы и ответы | размещение рекламы | наши контакты | алфавитный указатель

Copyright © 2001-2020 «Вебпланета». При перепечатке ссылка на «Вебпланету» обязательна.

хостинг от .masterhost