Полезные советы разработчикам по выработке хороших привычек

0
1122
views

Перевод статьи Энтони Лечено «Useful tips to help you create good habits as a web developer».

Хорошие привычки разработчиков

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

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

1. Следите за технологиями. Пристально!

Отслеживание технологий помогает вам оставаться на достойном уровне в вашей сфере деятельности.

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

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

Инструменты вроде Netvibes помогут вам сохранить кучу времени путем мониторинга всех интересных вам технологий и сбора информации в одном месте. Плюс, я бы порекомендовал отслеживать новый контент и читать свою ленту не ежедневно, а, скажем, по понедельникам или четвергам.

Вот несколько сайтов / форумов, которые я читаю еженедельно:

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

Очень легко растеряться и начать прыгать от темы к теме. Окей, вот эта последняя статья о новом Crypto ICO ОЧЕНЬ ИНТЕРЕСНАЯ, но разве вы работаете с криптовалютами? Сохраняйте сосредоточенность.

2. Любуйтесь прекрасными сайтами. И изучайте их!

Любуйтесь красивыми сайтами

Отличные сайты, ресурсы и эксперименты с кодом можно найти здесь:

Но смысл не в том, чтобы посмотреть на них и сказать: «Я никогда не сумею сделать нечто подобное!».

Спросите себя, как бы вы сотворили такое волшебство, и постарайтесь понять, что люди использовали для его создания. Новые технологии, новая библиотека JavaScript, неизвестное вам свойство CSS? Мы живем в мире, где каждый день появляется что-то новое, и наш темп обучения не поспевает за темпом изменений в технологиях.

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

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

И это подводит нас к следующему пункту.

3. Учитесь у более опытных людей

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

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

Самое главное: не бойтесь задавать вопросы, которые вам кажутся идиотскими.

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

Еще один способ учиться у лучших – делать ревью кода.

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

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

4. Никогда не забывайте комментировать свой код

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

Суть комментирования кода не только в том чтобы сделать его понятнее для другого разработчика или для себя самого. Это также способ обдумать свою функцию до того, как написать ее. Определить ее назначение. Причем только одно.

Тормозите себя, когда у вас возникает желание создать multiSuperTaskFunction().

[code]// I don’t know Rick
mySuperFunctionAddRemoveCreateEarth( $string, $purpose1, $bool) {
$var1 = true;
while($var1) {
addNewHumans++;
} else {
heregoesnothing();
}
}[/code]

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

[code]/*
* Handler to create the planet system
*/
Class Planet {
public $name;
/*
* Set the name of the instancied planet
* @var STRING $new_name Contain only a string to name the planet
*/
function set_name(string $new_name) {
$this->name = $new_name;
}

/*
* Function to access the name of the planet
* return STRING $this->name Contain only a string with the name
* of the planet
*/
function get_name() {
return $this->name;
}
}[/code]

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

5. Совершенствуйте собственный код. Рефакторинг.

Если вы полагаетесь на кого угодно, кроме себя, вы не будете продвигаться вперед и не достигнете уверенности в себе. Вот почему важно возвращаться к своему грязному коду и чистить его.

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

Совершайте ошибки

«Рефакторинг кода это контролируемая техника улучшения проекта существующей кодовой базы. Его суть – в осуществлении серии маленьких изменений, каждое из которых «слишком маленькое, чтобы его стоило сделать». Но общий эффект всех этих изменений будет достаточно заметным. Продвигаясь маленькими шажками, вы уменьшите риск появления ошибок», – Мартин Фаулер, «Рефакторинг. Улучшение проекта существующего кода».

Короче говоря, старайтесь делать ревью собственного кода и улучшать его, не задевая функционал. Делайте свой код быстрее, чище, читабельнее, модульнее.

Для этой цели я изолирую часть кода, которой я недоволен или которую мне пришлось написать на скорую руку из-за приближения дедлайна. Через пару недель я возвращаюсь к этой части.

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

Нестабильный отрывок кода всегда будет висеть над вами дамокловым мечом.

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

Уделите время попыткам понять свои ошибки. В долгосрочной перспективе это сохранит вам кучу времени и нервов.

6. Совершайте ошибки

Окей, но?..

Начав программировать, я понял, что самый верный способ расти над собой – ошибаться снова и снова. Поверьте мне, некоторых ошибок практически невозможно избежать, и это совершенно нормально.

Вам случалось переписывать одну функцию в проекте пять раз? Мне – да, и неоднократно. Но благодаря нажитому опыту и отработанной процедуре больше со мной такого не случается.

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



ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here