Сейчас любое крупное приложение состоит из множества сторонних библиотек. Хочется поднять такую тему, как доверие к этим библиотекам. В книгах и статьях можно встретить очень много рассуждений о качестве кода, методах тестирования, методологиях разработки и так далее. Но я не помню, чтобы кто-то рассуждал о качестве кирпичей, из которых строятся приложения. Давайте немного поговорим об этом. Например, есть Medicine Insight Segmentation and Registration Toolkit (ITK). Мне кажется, он написан весьма качественно. По крайней мере, я заметил в коде весьма мало шибок. Но я не могу сказать, что код используемых библиотек столь же качественен. Тогда вопрос. Насколько мы можем доверять таким системам? Есть повод для размышлений.
Читать полностью »
Рубрика «качество кода» - 6
Можем ли мы доверять используемым библиотекам?
2014-08-11 в 6:14, admin, рубрики: c++, ITK, pvs-studio, static code analysis, Блог компании PVS-Studio, качество кода, Си, Совершенный код, статический анализ кодаКачество кода Open Source впервые превзошло качество кода проприетарных проектов на C/C++
2014-04-24 в 20:24, admin, рубрики: c++, Heartbleed, open source, информационная безопасность, качество кода, ошибки, метки: Heartbleed, open source, качество кода, ошибкиВчера организация The Linux Foundation объявила о запуске проекта Core Infrastructure Initiative (CII) для финансовой поддержки бедствующих Open Source проектов вроде OpenSSL, который в последние годы жил на пожертвования $2000 в год.
В официальном пресс-релизе The Linux Foundation подчёркивает, что необходимость финансовой поддержке совершенно не связана с низким качеством кода OSS, совсем наоборот. Свободное ПО превосходит проприетарный софт по качеству кода и по безопасности. В подтверждение этого The Linux Foundation сослалась на последнее исследование Coverity Open Scan, результаты которого опубликованы 15 апреля, через неделю после публикации информации о баге Heartbleed.
Понятно, что момент для публикации выбран исключительно неудачный. Все только и обсуждали, как такой баг попал в открытый код и как предотвратить такое в будущем. Ответа до сих пор нет. Возможно, миллионы долларов от CII помогут решить проблему.
В этой ситуации важно понимать, что качество кода СПО действительно объективно превосходит качество кода проприетарного софта. Условно говоря, если бы код OpenSSL не был открыт, мы могли вообще никогда не узнать об этой уязвимости.
Читать полностью »
Простой способ повысить качество решений
2014-01-27 в 23:15, admin, рубрики: .net, sharepoint, качество кода, метки: .net, c++, sharepoint, качество кода Наверное каждый из вас сталкивался с такими решениями для SharePoint: решение вроде работает, но постоянно возникают какие-то проблемы, данные не сохраняются, странные падения при, казалось бы, безобидных операциях. Тестеры тратят много времени на такое решение, но исправление одних багов порождает другие. Развернуть такое решение на production ферме оказывается очень сложно, поддержка превращается в ад. Знакомо, да?
Занимаясь разработкой правил анализа кода для SPCAF (http://spcaf.com), я нашел способ как быстро исправить такую ситуацию.
Опыт работы не имеет значения
2014-01-20 в 5:44, admin, рубрики: качество кода, Программирование, продуктивность, разработкаЗнаете ли вы, что за все годы существования индустрии разработки ПО не было выявлено сильной связи межу опытом работы и качеством кода и продуктивностью сотрудника?
В 1968 году было проведено исследование продуктивности работы программистов (https://dl.dropboxusercontent.com/u/101688/website/docs/Sackman_Erikson_Grant.pdf), которое показало что соотношение лучших и худших программистов составило:
- 20:1 по времени написания кода
- 25:1 по времени отладки кода
- 10:1 по скорости работы программы
- 5:1 по объему кода
Эти цифры в разных вариациях уже все видели. А вот тот факт, что исследование проводилось на программистах, имевших в среднем 7 лет опыта разработки с небольшими отклонениями, не знает никто.
Читать полностью »
Практика хорошего кода
2013-12-23 в 4:02, admin, рубрики: DRY, качество кода, Программирование, Совершенный код, метки: dry, качество кода, Программирование За годы присутствия на хабре я прочитал немало статей на тему того, как должен выглядеть идеальный код. И поменьше статьей о том, как конкретно достигать этого идеала. Также стоит отметить, что весьма значительная часть всех этих материалов была переводом западных источников, что, вероятно, является следствием более зрелой отрасли IT «за рубежом», со всеми вытекающими вопросами и проблемами.
К сожалению, во многих случаях авторы либо забираются в недосягаемые выси многослойных архитектур, что требуется в лучшем случае для 1% проектов, либо ограничиваются общими фразами вроде «код должен быть понятен» или «используйте ООП и паттерны», не опускаясь до подробных объяснений, в чем например измеряется «понятность» кода.
В этой статье я хочу попытаться систематизировать те критерии оценки качества кода, и те практики его написания, которые мне удавалось применять в реальных проектах практически независимо от их размеров и специфики, используемого языка программирования и других факторов.
Читать полностью »
Что такое качество кода и зачем его мерить
2013-12-09 в 13:34, admin, рубрики: качество кода, код, Совершенный код, метки: качество кода, код
Измеримость и определение качества кода это вечная тема в мире программирования. Думаю все специалисты которые уже имеют опыт с большими проектами с многолетней историей не сомневаются в необходимости поддерживать код в качественном состоянии. Но не всегда достаточно времени для того чтобы выяснить какие характеристики важны именно в этом проекте. В этой статье не будет описано как нужно писать и оформлять код и нужны ли пробелы вокруг скобок. Сегодня я постараюсь выделить самые важные аспекты которым стоит уделять внимание и на что они могут повлиять, а какие допустимые пределы и как за ними следить решать Вам.
Читать полностью »
Ключ к счастью, или Качество включенó. Крик души программиста
2013-08-14 в 10:09, admin, рубрики: code review, Блог компании Positive Technologies, качество кода, модульное тестирование, разработка, метки: code review, качество кода, модульное тестированиеВ этот раз речь пойдет о модульных тестах и инспекциях кода. Когда мы в нашей команде начали использовать две эти практики в своих проектах, драйва и радости от работы прибавилось на порядок. Упомянутым темам посвящено огромное количество теоретических и практических трудов, но сегодня речь пойдет именно о личной выгоде разработчика.Читать полностью »
8 вещей, которых не должен бояться разработчик
2013-07-18 в 14:53, admin, рубрики: gtd, качество кода, Программирование, Проектирование и рефакторинг Изменять код
В процессе разработки программного обеспечения нет такого понятия, как «стагнация». Все, что вы разрабатываете сейчас — просто очередная версия компонента, который вероятно будет меняться в будущем. Изменение является самой распространенным явлением в мире разработки программного обеспечения и вам лучше принять это как факт. Рассчитывайте на возможные изменения всего, что вы разрабатываете и поэтому проектируйте ваш код более модульным. Это упрощает изменения и в тоже время увеличивает качество кода. Старайтесь придерживаться концепций DRY и YAGNI. Вы часто будете в ситуации когда вы смотрите на ваш код и представляете, что вы могли бы сделать это лучше. Так пусть эта мысль не мешает вам спать. Садитесь сразу за дело и рефакторинг! Если не сделаете это сейчас, вы возможно никогда этого не сделаете. Чем дольше ждете, тем сложнее и дороже это будет. И это может вырасти в лишнюю головную боль с которой не захочется связываться.
«Хороший код — это код который легко изменять. Код стремится измениться до момента, когда его уже не легко изменять. Весь код становится плохим кодом.» Неизвестный автор.
Читать полностью »
Что такое быть хорошим разработчиком?
2013-04-01 в 10:20, admin, рубрики: качество кода, Программирование, профессионализм, разработка, разработчик, метки: качество кода, профессионализм, разработчикОпыт вождения по дорогам Киева натолкнул меня на пару интересных мыслей. Все мы знаем, что на дорогах «куча идиотов». Ровно так же дело обстоит и в разработке – куда ни глянь, страшно на код взглянуть. Почему так происходит?Читать полностью »
5 распространенных ошибок Rails-разработчиков
2012-05-10 в 10:05, admin, рубрики: rails, ruby on rails, качество кода, ошибки, разработка
Я проработал с Rails уже порядочное количество времени, и за это время я видел много Rails-приложений, а также не мало прочитал и написал плохого кода на Ruby. И вот вам 5 самых распространенных ошибок, которые я наблюдал практически в каждом приложении.
Читать полностью »