Новые скилы в программировании

Новые скилы в программировании

@nrjwolf_live

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

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

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

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

Погнали

1. Extensions

Начну с расширений в c# — позволяет удобно реализовать методы, которых нет в объекте ( типе ). Наиболее показательный пример — это использование библиотеки DoTween

Два способа записи

Как видно, использование расширения позволяет сделать запись более короткой и читаемой.

2. Debug; breakpoints

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

3. Делегаты Action, Func

Action — события, на которые можно подписаться. В C# также можно использовать для реализации callback'ов, ниже пример, где мы получим ответ когда объект закончит передвигаться.

Func — в отличии от Action умеет возвращать что-то обратно. Можно использовать для каррирования (о котором я также узнал в этом году).

4. Корутины

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

Остальное

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

Автоформатирование — вечная проблема выравнивать код, сейчас я почти не жму на tab, а использую автоформатирование. В VS Code у меня это сочетание клавиш Command(⌘)-Shift-F.

До
После

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

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

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

String Format — чтобы красиво вывести в лог несколько данных, при этом сделать код понятным можно воспользоваться string форматом.

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

На этом я закончу, 2k17 выдался странным, где-то сложным, но опыта получено не мало. Постараюсь чуть позже написать про освоенные навыки в unity. С наступающим, господа.

Хочешь поделиться полученными знаниями в 2k17'oм? Заходи в чат ;)
@nrjwolf


Report Page