Эта статья представляет собой хороший теоретический материал о TDD для тех, кто об этом ещё ничего не знает.
Рубрика «Совершенный код» - 54
Простое написание тестов — это не TDD!
2012-12-13 в 18:25, admin, рубрики: tdd, Программирование, Совершенный код, тестированиеКоличественная оценка понятности кода
2012-12-03 в 17:06, admin, рубрики: code review, Проектирование и рефакторинг, рефакторинг, Совершенный код, метки: code review, рефакторинг
Принято считать, что понятность кода — вещь, во-первых, субъективная, а, во-вторых, — количественно не измеряемая. Существуют различные количественные метрики кода, но среди них метрики понятности нет. Чтобы машинно измерить понятность кода, нужен его семантический анализ, а это уже задача искусственного интеллекта.
Но давайте посмотрим на проблему с другой стороны. Что мы делаем, когда разбираемся с чьим-то кодом? Как происходит сам процесс изучения кода? Мы листаем функции, ищем определения переменных, классов, переходим от функции к функции, от файла к файлу.
Марсианский код: лекция о том, как программировали Curiosity
2012-12-02 в 14:29, admin, рубрики: curiosity, контроль качества, марс, наса, обзор кода, разработка, Совершенный код, статический анализ кода, тестирование, метки: curiosity, контроль качества, марс, наса, обзор кода, статический анализ кодаНа конференции HotDep 2012 Джерард Хольцман из Лаборатории реактивного движения НАСА прочёл лекцию о том, как обеспечивалась надёжность и корректность кода для марсохода Curiosity. Часовая лекция рассказывает, какие методики, стандарты кодирования и инструменты разработки применялись программистами НАСА, чтобы написать три с половиной миллиона строк сверхнадёжного кода, который в автономном режиме посадил Curiosity на поверхность Марса и обеспечивает работу всех его систем и приборов.
Лекцию можно посмотреть онлайн на сайте usenix.org, или Читать полностью »
Грязный, чистый, устремлённый
2012-11-23 в 15:27, admin, рубрики: говнокод, обучение программированию, самосовершенствование, Совершенный код, чистый код, метки: говнокод, обучение программированию, самосовершенствование, чистый кодГрязный
Давайте вместе поразмыслим — что же такое чистый код, и что такое код грязный? Или, как говорят американцы – «hairy code», т.е. волосатый?
Чем чистый код отличается от грязного – или, как говорят в этих наших интернетах, от «говнокода»? Да и нужен ли он вообще, этот чистый код?
Давайте сначала разберёмся с определениями.
Мне кажется, что дать чёткого определения «чистому» коду просто невозможно. Отчасти это – как с красотой: смотришь на картину, или там скульптуру – и видишь: да, красива. Или, наоборот, уродлива.
Читать полностью »
Работая в интересах Будущих Разработчиков
2012-11-20 в 15:09, admin, рубрики: cooperations, rails, ruby on rails, документация, командная работа, культура кода, паттерны, проектирование, Проектирование и рефакторинг, рефакторинг, Совершенный кодУспешный программный продукт обычно проходит за свою жизнь через руки множества разработчиков. Вы — лишь одно из звеньев в цепочке опекунов вашего проекта, и каждая строчка кода, которую Вы написали — это оставленный Вами артефакт, который когда-нибудь будет изучаться Будущим Разработчиком. Также, как Вы унаследовали решения разработчиков, которые были до Вас, другие разработчики унаследуют решения, которые Вы делаете сегодня. Они получат от нас в наследство все наши недоразумения, срезанные нами углы, примененные нами недопонятые паттерны и техники, наше невнимание к деталям, нашу лень, наши изменения, сделанные на скорую руку, наших скелетов в шкафах, наше грязное белье. И гораздо реже — выгоду от нашей дисциплинированности, наших обсуждений и подготовок.
Затерянный остров хорошего кода
2012-11-13 в 8:15, admin, рубрики: code review, Code Style, stackexchange, Совершенный код, метки: code review, Code Style, stackexchangeОчередной спор о стиле, красоте и компактности кода занял слишком много времени, в связи с чем и был отправлен на разрешение широкой аудитории StackOverflow. Это помогло, и спор решился, но в комментариях мне намекнули, что я пришел не по адресу:
Stack Exchange's "codereview" site is the new hotness for this sort of question.
Оказывается, больше года назад в застенках Area 51 был рожден вопросник Code Review, призванный делать код лучше.
Мифы о QR-кодах
2012-11-07 в 23:23, admin, рубрики: IT-стандарты, QR-коды, Дизайн в IT, Совершенный кодКажется, что в последнее время QR-коды можно встретить везде. Тем не менее, они зачастую понимаются и используются неправильно. Мобильный эксперт Теренс Эден развинчивает 10 главных мифов о QR- кодах.
Вот мое краткое руководство по десяти мифам.Читать полностью »
Встречайте Critic: система инспектирования кода в Opera Software
2012-10-29 в 18:25, admin, рубрики: code review, open source, opera, Блог компании Opera Software, Совершенный код, метки: code review, open source, operaВнутренняя система инспектирования исходного кода Critic, применяемая в Opera Software, вчера вечером была выложена на Github под лицензией Apache License 2.0.
Иногда системы инспектирования кода ругают за то, что они совершенно не приспособлены к процессу коммерческой разработки. Это не про Critic. Critic опробован в процессе коммерческой разработки софта в больших проектах большой компании, и отлично себя показал. Очень рекомендую попробовать этот замечательный интсрумент и вам.
Скачать исходные коды Critic можно здесь: github.com/jensl/critic.
Читать полностью »
Программы, как произведения искусства‽
2012-10-24 в 8:41, admin, рубрики: искусство, Исследования и прогнозы в IT, Программирование, Совершенный код, метки: искусство Когда-то давно я читал одну фантастическую книгу, названия которой уже не вспомню (и наверняка сейчас слегка перевру сюжет). Речь в ней шла об одной цивилизации, которая на грани своей гибели собралась с силами и отправила в космос некую капсулу, в которой заключались все её величайшие достижения и свершения, вся их гордость, вся их суть. Об этом узнали, началась погоня за этой капсулой и война за неё. Когда победитель добрался до её содержимого, то ни научных открытий, ни технологических чудес он там не нашел.
А нашел коллекцию художественной литературы, картин, музыки, кино, фотогаллереи музеев и т.д. Плюс пометочку о том, что не было никакого смысла помещать в капсулу научные данные — любая цивилизация рано или поздно придумает и теорему Пифагора, и атомный реактор. А вот нарисует ли она те же картины, напишет ли ту же музыку и снимет ли те же фильмы? Наверняка нет. Поэтому именно они ценны, а всякие там формулы и чертежи — нет.
Временами я задумываюсь — а вот представим, что собрать такую капсулу нужно прямо сегодня. И вот нам с вами поручили отобрать её часть — какое-то количество программного обеспечения (мы ведь тут на Хабре разбираемся, да?), которое бы по вышеуказанным критериям можно было поместить в такую капсулу. Что выбрать?
Почему нельзя превращать прототип в итоговую программу
2012-10-16 в 15:54, admin, рубрики: говнокод, Программирование, прототипирование, Совершенный код, метки: говнокод, прототипирование Всем привет! Сколько уже статей было про говнокод, но я считаю, их поток нельзя сокращать, потому как поток говнокода только увеличивается.
Внимание: статья полна субъективизма и сюрреализма. Автор не претендует на истину в последней инстанции
Очень часто, создавая новое приложение, программу, веб-сайт, мы сначала экспериментируем, а затем создаем из наших экспериментов конечный продукт.
Но дайте ответ на следующие вопросы не задумываясь:
- сколько раз, получая исходники от других разработчиков, вы находили их крайне непривлекательными?
- сколько раз, передавая исходники другим разработчикам вам было стыдно за свой код?
Мои ответы: постоянно, довольно часто.
Почему так происходит?