Письмо от себя, самому себе

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

Не доверяйте клиенту на 100%

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

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

Не пишите ни строчки кода, пока не спланируете

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

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

Планируйте свой CSS! Посмотрите, какие цвета, шрифты и размеры используются в приложении. Не смей использовать пиксели для определения размера объектов, используйте rem или em, если только это не граница.

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

Рефакторинг как. ты. идти.

Это самоочевидно.

Модульное тестирование

Также самоочевидно.

Кросс-совместимость

Вещи не только выглядят по-разному, но и ведут себя по-разному в разных браузерах и на разных устройствах. Даже если Google Chrome является королем, в нем все выглядит великолепно, и вы полностью убиваете его с помощью инструментов разработчика Chrome, обязательно проверьте его в Safari (и других, если необходимо), а также на самом устройстве. Возможно, однажды все будет вести себя как Chrome, но сегодня не тот день.

Ожидайте, что все будет иначе

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

. . .

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