Так или иначе, вы наткнетесь на эти

В программном обеспечении есть много уроков, которые можно извлечь из опыта. Следующие девять уроков мне пришлось усвоить на собственном горьком опыте!

1. Самые дешевые, быстрые и надежные компоненты — это те, которых нет

Гордон Белл однажды сказал это. Урок, который следует извлечь из этого, заключается в том, что вы должны сделать систему или часть программного обеспечения как можно более простыми. Уменьшите сложность, чтобы уменьшить количество ошибок.

Известный программный принцип под названием KISS (Keep It Simple, Stupid), разработанный ВМС США, в основном говорит о том же:

Большинство систем работают лучше всего, если они остаются простыми, а не усложняются; поэтому ключевой целью дизайна должна быть простота, и следует избегать ненужной сложности.

Сложность может проявляться несколькими способами. Во-первых, вы должны тщательно продумать, какие компоненты вам потребуются при построении системы. Например, если вы используете и MongoDB, и Elasticsearch, вы можете использовать один из двух, чтобы уменьшить количество компонентов. Помимо меньшего обслуживания, преимуществом является то, что меньше вещей может сломаться. Всегда ищите вещи, которые можно комбинировать или разделять.

В своем коде вы должны тщательно продумать, какие пакеты включать. Если вы используете только одну функцию из какого-то большого пакета или зависимости, возможно, вам лучше реализовать или скопировать только эту функцию.

2. Кодирование вуду

Иногда вам удается исправить ошибку, но вы не понимаете почему. Большинство программистов были там, но никогда, никогда не останавливались на этом. Всегда убедитесь, что вы понимаете свой код. Узнайте, почему это изменение помогло.

Такое мышление научит вас большему, чем книги. Не стыдитесь и попросите кого-нибудь другого, если вам нужно. В какой-то момент вы заметите, что стали тем, к кому вместо этого обращаются люди.

То же самое относится и к коду копирования-вставки. Да, мы все иногда используем Stack Overflow. В этом нет ничего постыдного! Но если вы не понимаете код, либо не используйте его, либо обратитесь за помощью к кому-нибудь еще.