Хороший код - его собственная лучшая документация. Когда вы собираетесь добавить комментарий, спросите себя: «Как я могу улучшить код, чтобы этот комментарий не нужен?» Улучшите код, а затем документируйте его, чтобы сделать его еще более ясным.
Проблема с быстрым и грязным в том, что грязный остается еще долго после того, как быстро была забыта.
Тестирование само по себе не улучшает качество программного обеспечения. Результаты испытаний являются показателем качества, но сами по себе они не улучшают его. Попытка улучшить качество программного обеспечения за счет увеличения количества тестирования - это все равно, что пытаться похудеть, взвешивая себя чаще. То, что вы едите до того, как вступите в шкалу, определяет, сколько вы будете весить, и используемые вами методы разработки программного обеспечения определяют, сколько тестирования ошибок найдет. Если вы хотите похудеть, не покупайте новую шкалу; Измените свою диету. Если вы хотите улучшить свое программное обеспечение, не тестируйте больше; развиваться лучше.
Лучше подождать, пока станет доступным продуктивный программист, чем дождаться, когда первый доступный программист станет продуктивным.
Основная цель оценки программного обеспечения не заключается в предсказании результата проекта; Для определения того, достаточно ли целевые показатели проекта достаточно реалистичны, чтобы позволить проекту контролироваться для их соответствия.
Хороший код - его собственная лучшая документация.
Построение программного обеспечения подразумевает различные этапы планирования, подготовки и выполнения, которые варьируются по составу и степени в зависимости от того, что строится. [...] Построение четырехфутовой башни требует устойчивой руки, ровной поверхности и 10 неповрежденных пивных банок. Построение башни в 100 раз, чем размер, не просто требует в 100 раз больше пива.
Хороший визуальный макет показывает логическую структуру программы.
В программном обеспечении цепочка не такая сильная, как самая слабая ссылка; Это так же слабо, как и все слабые звенья, умноженные вместе.
Даже если у вас есть квалифицированные, мотивированные, трудолюбивые люди, неправильная командная структура может подрывать их усилия, а не катапультировать их к успеху. Плохая командная структура может увеличить время развития, снизить качество, моральный дух повреждения, увеличить оборот и в конечном итоге привести к отмене проекта.
Движение по умолчанию в программном проекте должно быть направлено на то, чтобы убрать элементы программного обеспечения, чтобы сделать его проще, а не добавлять элементы, чтобы сделать его более сложным.
Решение грубой силы, которое работает, лучше, чем элегантное решение, которое не работает.
... Программирование требует большей концентрации, чем другие действия. По этой причине программисты расстраиваются из -за «быстрых перерывов» - такие перерывы равносильны тому, чтобы попросить жонглера оставить три шара в воздухе и одновременно удерживать свои продукты.
Одеятая попытка избежать ошибок - самая большая ошибка из всех.
Это нормально, чтобы выяснить загадки убийства, но вам не нужно выяснять код. Вы должны быть в состоянии прочитать это.
Достаточно сложно найти ошибку в вашем коде, когда вы ее ищете; Еще сложнее, когда вы предположили, что ваш код не об ошибке.
Инжиниринг - это применение научных принципов к практическим целям. Если инженерия не практично, это плохое инженерное.
В успешном программном проекте нет секретов. Как хорошие, так и плохие новости должны быть в состоянии двигаться вверх и вниз по иерархии мощностью без ограничений.
Мотивация, несомненно, является единственным наибольшим влиянием на то, как хорошо люди работают. Большинство исследований производительности показали, что мотивация оказывает более сильное влияние на производительность, чем любой другой фактор.
Работа среднего менеджера требует сдвига в фокусе каждые несколько минут. Работа среднего разработчика программного обеспечения требует, чтобы разработчик не сдвинул фокус чаще, чем каждые несколько часов.
Типичный программный проект может предоставить больше возможностей для изучения ошибок, чем некоторые люди получают всю жизнь.
Проекты программного обеспечения терпят неудачу по одной из двух общих причин: проектной команде не хватает знаний для успешного проведения программного проекта, или команде проекта не хватает решимости эффективно провести проект.
Эвристика - это алгоритм в костюме клоуна. Это менее предсказуемо, это веселее, и он поставляется без 30-дневной гарантии возврата денег.
По моему опыту, у вас есть либо инкапсуляция и абстракция, либо у вас нет ни одного. Среди земли нет.
В программном обеспечении консультанты иногда говорят вам купить определенные методы разработки программного обеспечения, исключая другие методы. Это прискорбно, потому что, если вы покупаете какую -либо отдельную методологию на 100 процентов, вы увидите весь мир с точки зрения этой методологии. В некоторых случаях вы упустите возможности использовать другие методы, лучше подходящие для вашей текущей проблемы.