Ошибки: благодаря им мы учимся. Они неизбежны. Но будет лучше, если каждый из нас начнет допускать их меньше, с помощью нескольких советов и методик, которые мы опишем ниже.
Хорошо знай свой язык
Простые ошибки в синтаксисе современные IDE хорошо ловят и показывают, что исправить. Но смотри на код немного со стороны – некоторые решения могут довольно сильно повлиять на производительность и скорость работы кода.
Методика TDD
Методика TDD – это разработка через тестирование. Суть заключается в написании коротких тестов к каждому блоку кода. Или «сначала пишется тест, покрывающий желаемое изменение, затем пишется код, который позволит пройти тест». Главное в этом методе что сначала идет продумывание интерфейса кода, а затем уже реализация. Так ты не отвлечешься на какие-либо частные проблемы, а проработаешь общие. Подробней о методике можно прочитать в Википедии.
Не создавать колесо заново («зато оно моё»)
Типовые задачи уже решены кем-то до тебя и чаще всего ты уже найдешь что-то готовое. Если там и есть баги, то вероятно они уже описаны, там же где ты и берешь код. Так ты сэкономишь большой объем времени и сможешь уделить его на дополнительное изучение этого кода-донора. И ошибок тут будет в разы меньше. Вместе с этим методом хорошо уживается принцип работы DRY.
Методики проектирования KISS, YAGNI и Code Review.
Чтобы писать чистый и понятный код, достаточно выбрать одну из методик проектирования, например, KISS («Keep It Simple Stupid»). Этот принцип заключается в том, чтобы все оставалось «по дурацки простым». Выбери одну из подобных методик (KISS, YAGNI), вдохновись и приступай к работе.
После ты сможешь понять одним взглядом на любой свой код где допустил ошибку или что стоит изменить.
К этим методикам можно отнести так же Code Review – выдавай свой код на проверку другим программистам. Если ты долго работаешь над проектом – глаз может просто замылиться и ты упустишь что-то важное. Пусть свежая пара глаз осмотрит твой код и выдаст вердикт, а может и даст сильный совет. Обычно, при проверке кода вопросы появляются всегда :)
И помни, практика превыше всего.