Когда я искал свою первую работу, я создал пет-проект. Сейчас я работал фронтенд-разработчиком, и после всего этого могу дать несколько советов для вашего проекта.

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

№1 / без библиотеки

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

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

# 2 / подумайте о программах чтения с экрана

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

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

Что не так с этим кодом? Ничего. Но скринридер так не думает. Человек, использующий программу чтения с экрана, услышит: "Найди что-нибудь‹›Найди точку-точку-точку". Думаю, вы уже понимаете, почему это так — потому что программа чтения с экрана читает placeholder.Как это исправить?

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

Считыватель экрана о ценности функциональности? Если мы добавим атрибут к кнопке — это о функциональности, иначе — ценность.

#3 / все константы в одном файле

Представьте, что у вас есть слово, которое повторяется много раз, например, Amazon на их сайте. Как видите, Амазонка повторяется 28 раз! Сначала все в порядке, но вдруг вам нужно изменить Amazon на AMAZON. Да, вы можете использовать Изменить все вхождения в VS Code или любые другие функции в вашей IDE, но если вам нужно выполнять другие сложные операции, вы должны работать с одним входным экземпляром.

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

#4 / объединить все цвета в одной функции

Только для шаблона CSS-IN-JS.

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

В цветах мы должны добавлять только цвета по принципу «название цвета — код цвета». В semantic «сущность — colors.colorYouWant». В использовании это выглядит так:

# 5 / Компоненты презентации и контейнера

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

Это пример, который показывает, как правильно разделить логику компонентов.

#6 / единый стиль для коммитов

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

git add .
git commit -m 'add a footer'

Что вы думаете об этом? Хорошо? Дано представьте, что ваша работа требует более 10 коммитов. Я имею в виду, что иногда можно сделать много коммитов и сделать коммиты правильно в одном стиле.

Как видите, я использую определенные флаги для имен коммитов.

--refactor / code refactoring
--style / added/fixed styles
--feature / added new functionality

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

Но вы можете сделать свои собственные флаги.

Заключение.

Я написал 6 советов для вашего проекта и это далеко не все, чем я хочу с вами поделиться. Очень надеюсь, что эти советы вам пригодятся. Я планирую продолжить эту статью и добавить новые советы, чтобы вы могли улучшить свой пет-проект!

Спасибо за чтение!