Уровень качества софта
Существует огромное количество метрик говорящих разработчикам о том, что софт качественный. Но сегодня речь пойдёт о наиболее важной характеристики с точки зрения пользователя, а не разработчика.
Существует огромное количество метрик говорящих разработчикам о том, что софт качественный. Но сегодня речь пойдёт о наиболее важной характеристики с точки зрения пользователя, а не разработчика.
Предположим вам хотелось бы что-то сделать на компьютере, но программ отвечающих за такую функциональность не нашлось. Поделитесь мнением на счёт таких случаев.
Часто люди спрашивают в интернете, стоит ли учить такой-то язык программирования. И вот у меня возникла мысль.
Для начала небольшое наблюдение. При прочих равных условиях маленькую программу создать обычно легче, чем большую. Однако так же верно, что суммарная сложность частей порой оказывается гораздо выше в собранной единой системе, чем в отдельных её составляющих. Иными словами по мере увеличения размера кода программы сложность создания растёт непропорционально применяемым усилиям.
Программный продукт обладает свойством модифицируемости, если он имеет структуру, позволяющую легко вносить требуемые изменения.
Qt Creator — среда разработки программного обеспечения. Doxygen — система документирования кода. Dia — редактор диаграмм. Git — система управления версиями. CppCheck — статический анализ кода. Artistic Style — автоматическое форматирование кода. Valgrind — профилировщик, отладчик использования памяти. ChiliProject — система управления проектами. Jenkins — сервер непрерывной интеграции.
О пакетах нужно знать то, что они соответствуют пространствам имён (namespace). Соответственно на них действуют те же самые правила. По большому счёту это логическая группировка типов. Под типами могут пониматься как классы (class) – типы определяемы пользователем, то есть программистом, так и другие, например структуры (struct), объединения (union), перечисления (enum), псевдонимы (typedef).
Вернёмся к самому началу, к тому чем пичкают преподаватели начинающих программистов. Чтобы не создавать излишнюю таинственность вокруг диаграмм деятельности UML достаточно будет сказать, что они являются блок-схемами. С одной стороны их сильно упростили, с другой внесли возможность моделировать параллельные алгоритмы.
Для того, чтобы развиваться человеку нужна информация. Одним из лучших источников являются книги. В программировании они играют особую роль, так как зачастую выступают в роли высококачественного экстракта знаний предметной области. В некоторой степени им уступают различные статьи и публикации. Для программиста так же важно время от времени читать код, в том числе непосредственно не относящийся к его работе.