2022 год был для меня хорошим годом с точки зрения разработки программного обеспечения. Я закончил свой первый курс университета, работал стажером по разработке программного обеспечения в Redgate Software и, наконец, сделал основы своего веб-сайта (bradleymcgill.co.uk).

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

Вот что это за пост. Резюме моих целей и задач, которые я поставил перед собой.

Использование GitHub

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

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

Работа над моим планированием

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

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

Строгая типизация

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

В этом году я буду строго типизировать свои переменные, создавая новые типы, если ситуация уместна.

Пишу о том, чем я занимаюсь

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

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

Еженедельный конкурс веб-сайтов

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

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

Композиция над наследованием

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

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

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

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

Если вы хотите следить за моими успехами, я буду писать об этом здесь (https://medium.com/@bradley_12936), Twitter (https://twitter.com/ImBradleyMcGill) и буду добавить ссылку с моего сайта (http://bradleymcgill.co.uk)