programmer
Хороший программист — это тот, кто всегда смотрит в обе стороны, прежде чем перейти улицу с односторонним движением. — Дуг Линдер

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

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

1. Освойте основы

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

2. Помечайте каждый набор кода, который вы пишете (Как, Что)

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

3. Узнавайте больше, помогая другим

Большинство из нас, возможно, обращается на форумы и в группы только тогда, когда нам самим нужна помощь. Одна черта, по которой можно отличить выдающегося программиста, — это то, что выдающиеся часто ходят в эти места, чтобы помогать другим. И, помогая другим, они также многому учатся сами. Если вы работаете в команде, вам также следует помогать друг другу. Поверьте, понимание контекста чужих проблем, исследование и предложение решений помогут вам узнать больше и расти быстрее.

4. Пишите код, который прост, понятен и логичен

Как и в других аспектах жизни, в программировании применимо правило KISS (Keep It Simple and Short). Код должен быть логичным и избегать чрезмерной сложности. Некоторые люди пишут настолько сложный код лишь для того, чтобы доказать, что они способны писать сложный код. Но мой опыт говорит мне, что простой и логичный код работает эффективно, имеет меньше проблем и его легче расширять. Я помню поговорку:

Хороший код сам по себе — лучшая документация. Прежде чем добавить комментарий, спросите себя: "Как я могу улучшить код, чтобы мне не нужно было писать этот комментарий?" — Стив Макконнелл

5. Уделяйте больше времени анализу проблем, чтобы потом тратить меньше времени на их исправление

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

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

6. Будьте первым, кто анализирует и проверяет свой собственный код

Хотя это немного сложно, но если вы сами узнаёте о проблемах раньше, чем их обнаружат другие, это может помочь вам научиться писать код, «почти свободный от ошибок». Ваши собственные проверки кода должны быть справедливыми и строгими, и вы также должны без колебаний принимать замечания других. Как говорится, «с кем поведёшься, от того и наберёшься», — работа с отличными программистами и активное прислушивание к их отзывам непременно помогут вам тоже стать отличным программистом.

7. Не поддавайтесь унынию из-за постоянно меняющихся технологий

В последнее время в IT-индустрии многие люди, которых я встречал — то жалуясь на разочарование в своей работе, то уже уволившись и ища новую работу — неизменно говорили, что хотят изучать и использовать новейшие технологии. Я считаю это желание понятным, но слово «новейшие» — не думаю, что оно совсем уместно. Каждый день мы слышим, как люди говорят, что «теперь есть новые инструменты, API, фреймворки и другие методы», которые могут сделать программирование проще. Это всегда происходило в технологической сфере. Что действительно требует нашего внимания и понимания — это изменения в ключевых и фундаментальных технологиях, и уже на этой основе следует смотреть на новые фреймворки, инструменты и API. Например, многие Java-компании могут переходить на новые веб-фреймворки каждую вторую неделю, но ключевые концепции — метод запроса, основанный на модели взаимодействия клиент-сервер, шаблон MVC, фильтры/сервлеты/JSP, привязка ресурсов, разбор XML и т. д. — остаются теми же. Поэтому вместо того, чтобы постоянно беспокоиться об изменениях во фреймворках и инструментах, лучше потратить время на хорошее изучение этих ключевых концепций. Поверьте, на основе понимания этих ключевых концепций мы сможем быстрее осваивать новые фреймворки, инструменты и API.

8. Экстренные меры неэффективны в долгосрочной перспективе

Часто программисты могут прибегать к экстренным и обходным решениям (будь то из-за нехватки времени, недостаточно глубокого понимания проблемы или недостаточного технического опыта). Но эти экстренные решения наносят ущерб коду, делая его трудным для последующего расширения и сопровождения. Я понимаю, что иногда этой ситуации действительно трудно избежать, но, как и всем нам следует говорить правду: если вы солгали, вы должны понимать, что ложь в конце концов раскроется.

9. Читайте документацию

Одна из основных привычек выдающихся программистов — читать много документации: технические спецификации, JSRs, документацию по API, руководства и так далее. Чтение документации закладывает необходимую основу для того, чтобы программировать наилучшим образом.

10. Учитесь на чужом коде

Мне очень нравится общаться с выдающимися программистами, у которых в IDE есть исходный код на Java, и читать/использовать их код. Потому что это не только помогает понять основы, но и учит новым способам написания проектов. Чтение и использование надежного и известного открытого исходного кода или вашего собственного продвинутого кода также помогает нам программировать лучше.

Последний момент, не указанный выше: не сравнивайте себя с другими

Как говорится, сравнение себя с другими только делает вас несчастным. Сравнение себя с другими приводит лишь к негативным эмоциям и превращается в нездоровую конкуренцию. У каждого есть свои сильные и слабые стороны. Я много раз видел, как так называемые «суперкрутые» программисты совершают действительно глупые ошибки. Поэтому анализируйте себя, составьте список своих недостатков и усердно работайте над улучшением себя — это правильный путь.

Программирование — настоящее удовольствие, и вы тоже можете им наслаждаться.

«Любой дурак может написать код, который поймет компьютер. Хорошие программисты пишут код, который поймут люди.» — Мартин Фаулер

Ссылка на перевод: http://www.codeceo.com/article/10-effective-way-good-programmer.html
Переводчик: Codeceo – Xiao Feng