Mini blog. Thesis

Приветствую на моем мини блоге! Здесь собраны мои мысли и мнения о разработке. В формате мини статей. Я привык говорить кратко и емко, быть выразительным

Необходимость тестирования

Тестирование кода необходимо. Но оно не должно замедлять процесс разработки Тестировать use cases. Test cases составлябися на рснове use case. Все use case должны быть протестированы. Функциональное тестирование. Для ускорения разработки использовать именно тестирование функционала программы, а не кода (unit test, низкоуровневое тестирование). Нужно обязательно протестировать весь функционал программы после внесения изменений. Этот могут сделать тестировщики или автоматизированные системы для тестирования (Automation Testing). Зачастую функциональное тестирование выявляет ошибки бизнес логики. Но оно не может протестировать весь код, все случаи бизнес логики. Для отдельных случаев можно применять unit test. Или исправлять в багах. Зависит от требований к проекту. Полный контроль кода позволит быстро находить причины ошибок и быстро вносить изменения. www.protesting.ru/testing/types/functional.html

О плагинах

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

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

Реальные показатели качественного кода

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

Стиль написания кода и инструменты зависят от требований проекта и личнвх предпочтений команды разработчиков.

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

Легкость и скорость освоения кода Код пишется и читается человеком. Компилируется для машины. Значит код должен быть максимально просто читать. Емкость и выразительность Идеальная ситуация: емкое компактное выражение точно и однозначно описывает ситуациб и заменяет большие громоздкие конструкции. Меньше строчек кода - меньше возможности для ошибки и меньше времени на понимание. Но слишком большая компактность вредит легкости понимания - не следует злоупотреблять и лепить все в одну строчку.

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

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

Post header

Тестирование кода необходимо. Но оно не должно замедлять процесс разработки Тестировать use cases. Test cases составлябися на рснове use case. Все use case должны быть протестированы. Функциональное тестирование. Для ускорения разработки использовать именно тестирование функционала программы, а не кода (unit test, низкоуровневое тестирование). Нужно обязательно протестировать весь функционал программы после внесения изменений. Этот могут сделать тестировщики или автоматизированные системы для тестирования (Automation Testing). Зачастую функциональное тестирование выявляет ошибки бизнес логики. Но оно не может протестировать весь код, все случаи бизнес логики. Для отдельных случаев можно применять unit test. Или исправлять в багах. Зависит от требований к проекту. Полный контроль кода позволит быстро находить причины ошибок и быстро вносить изменения. www.protesting.ru/testing/types/functional.html

Тестирование кода необходимо. Но оно не должно замедлять процесс разработки Тестировать use cases. Test cases составлябися на рснове use case. Все use case должны быть протестированы. Функциональное тестирование. Для ускорения разработки использовать именно тестирование функционала программы, а не кода (unit test, низкоуровневое тестирование). Нужно обязательно протестировать весь функционал программы после внесения изменений. Этот могут сделать тестировщики или автоматизированные системы для тестирования (Automation Testing). Зачастую функциональное тестирование выявляет ошибки бизнес логики. Но оно не может протестировать весь код, все случаи бизнес логики. Для отдельных случаев можно применять unit test. Или исправлять в багах. Зависит от требований к проекту. Полный контроль кода позволит быстро находить причины ошибок и быстро вносить изменения. www.protesting.ru/testing/types/functional.html