несомненно, но в моем случае имелось в виду, что их надо написать для уже существующего монструозного кода, чтобы можно было приступить к безопасному рефакторингу
Комментарий из публикации, перенесённой в черновики.
Комментарий из публикации, перенесённой в черновики.
К сожалению, бывают такие заказчики, которых под дулом пистолета не переубедить, что добавление юнит-тестов может сохранить многие клетки мозга в будущем, что рефакторинг нужен как воздух. У них одна отмашка — зарелизимся, добавим новых фич, и вот там можно подумать о твоем улучшении кода. Но реально до этого редко доходит. Тыкать в книжку Физерса «Эффективная работа с унаследованным кодом» — себе дороже. Мне пришлось выслушать, что автор этой книги теоретик, и ему далеко до наших реальных проектов, где каждая новая фича — это залог успеха.
В итоге, проект лучше переписать, чем пытаться «осушить болото». Однако такой шаг пагубен для всего проекта. Об этом пишет Физерс, об этом предупреждает Спольски. Замкнутый круг :)
<включил дурачка> а интернетом можно считать этот код? <выключил>
у меня нет такого устройства, либо о его существовании я не подозреваю :) о смысле таких кодов я осведомлен, спасибо за разъяснение
Задели за живое :)) Как вспомню свою угробленную операционку после проверки Norton Disk Doctor — муражки по коже. Лет семь назад решил сделать сканирование дисков, и в результате получил все имена файлов в вопросиках. Кое-где сохранялось по две буквы, по которым можно было восстановить название целиком. Такой геморрой себе нажил — не передать! :) После этого не то что по-русски стараюсь не писать, а вообще — к нортону подходить близко…
По Qt вопрос: выполняю запрос при помощи класса QXmlQuery::setQuery(..), но после преобразования в QString через evaluateTo получаю лишний символ в конце (char 10). В чем может быть трабла?
есть маленький глюк: когда нажимаешь на картинку из ряда «what's inside», показывается превью, однако по выходу из него внизу остается темный фон. Опера 9.63 WinXP
Статья мне напомнила одну интерпретацию закона Паркинсона: «Объём данных растёт так, чтобы заполнить всё место на носителе». Из этого есть очевидное решение — не покупать лишние объемы.
Раньше у меня была такая же болезнь: я собирал все, что собиралось. Но с приходом анлима я понял — нафик это надо. Все, что может когда-нибудь потребоваться — можно спокойно слить с инета. Фильмы? Они интересны сегодня, скучные завтра. Книги? Они нужны в перспективе сегодня, устаревшие завтра. Разве не так?
Я был удивлен, когда с раза пятого смог удачно залогиниться. Но это цветочки. Меня убила процедура организации кросспостинга. Вот это действительно жесть )) Прочитав неслабый мануал, только одна реакция: "Данунах"...
Проект имел бы преимущество перед всеми выше представленными, если в нем будут представлены шаблоны в общем виде (использовать тот же UML) с подробными описанием. Потом на основе объектов, участвующих в паттерне, давать пользователю задать собственные типы данных и язык, собственно. Получислось бы что-то вроде Lazy Patterns Using. Т.е. программист пришел на сайт, выбрал нужный паттерн, задал типы, и получил готовый код. Дальше вставляешь в собственный проект и доводишь работу кода до ума.