tgoop.com/notes_about_QA/253
Last Update:
🌅Как писать код красивым и понятным?🌇
Когда мы пишем код для автотестов, не стоит забывать, что это все так же остается кодом. И к коду есть свои требования: понятность, читаемость, удобство его доработки. Поэтому приходится напрягаться и думать “а как писать код лучше?”
Что нужно для создания идеального (или хотя бы близкого к этому) кода:
- соблюдать основные принципы разработки SOLID, KISS, DRY, YAGNI и другие, особенно советую погрузиться в SOLID(и, например, разобрать в нем с помощью картинок). Также разобраться в этой концепции вам может помочь конкретные примеры на java и на python
- помнить о концепции ООП
- применять шаблоны проектирования и паттерны автоматизации
Также рекомендую отличную статья с советами, как написать идеальный автотест (аж 25 принципов!) : собраны основные требования к коду именно автотеста (прямо рекомендую читать статью и анализировать ваш код)
Рефакторинг кода
Если все-таки вышло, что вы попали в ловушку плохо написанного кода (с кем такого не было?), то пора заняться рефакторингом.
Отличный цикл статей про рефакторинг, как лечиться от проблем в вашем коде и какие есть best practice для этого (заходить нужно под VPN).
Еще полезные советы о коде и около него:
- писать хороший README (или хотя бы в целом писать): это прежде всего забота о других людях, им будет понятно, как запускать тесты, как в целом логика тестов, какие программы нужны для запуска, где и как публикуются отчеты (а еще круче написать скрипт или докер файл, которые позволит все установить для запуска ваших тестов)
- писать понятную историю коммитов: сквошить, черри-пикать, ребейзить и всеми другими способами делать историю коммитов читаемой, понятной и не перегруженной
- не забывать писать информативные переменные/классы/названия тестов (очень больной пункт для меня, думаю над названиями по миллион лет): поможет не заглядывая в код понять, что там происходит, зачем это предназначено и как это можно переиспользовать.
#автоматизация #программирование
BY Заметки о QA
Share with your friend now:
tgoop.com/notes_about_QA/253