Получи случайную криптовалюту за регистрацию!

В программировании, как и в любой сфере, есть такие правила, к | Пишем и показываем

В программировании, как и в любой сфере, есть такие правила, которые начинаешь раскрывать только с опытом.

Тимлид фронтенд-разработки Арман делится своими наблюдениями о принципах, которые помогают программисту быть эффективным в работе.

***

1. Данные — пуп программы

Многие программы пишутся в первую очередь для работы с данными, чтобы хранить их, передавать и получать. Это стоит держать в голове.

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

Когда данные отображаются неправильно, а фишки внедряются ради фишек, то страдает основная идея.

2. Документация — это важно (на самом деле)

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

Это снижает порог вхождения нового члена в команду, так как человек проще и быстрее вникнет в текущий проект. Например, вместо того чтобы долго изучать код, он или она сразу прочтет, какая функция еще не была написана, и начнет над ней работать.

3. 7 раз подумай — 1 раз решай

Многие принципы проектирования из разных сфер гласят, что все должно быть простым и реюзабельным (KISS, DRY, YAGNI, FIRST и пр.).
Чтобы к этому прийти, надо сначала все хорошенько продумать и спроектировать. Написать код или отрисовать дизайн сможет и ребенок, который толком не шарит. Однако поддерживать или развивать дальше его результат может быть очень дорого или невозможно.

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

4. Технологии — это инструменты

Языки программирования, фреймворки и прочее — всего лишь инструменты. Да, их надо выучить и уметь ими пользоваться, однако максимальную ценность программисту дают базовые знания Computer Science, понимание принципов и умение грамотно проектировать.
Так что очень важно изучать алгоритмы, структуру данных, шаблоны проектирования и парадигмы программирования: зная их, можно стать гораздо более эффективным специалистом.

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

Поэтому не делайте инструменты самоцелью, а всегда отталкивайтесь от поставленной задачи.