[userpic]

Надо учить не "запахи кода", а метамодель ↑

meta_eugzol в посте Metapractice (оригинал в ЖЖ)

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

Как мы знаем, что код плохой?

Что конкретно в коде заставляет его казаться плохим?

Что именно отличает код, который кажется плохим, от кода, который плохим не кажется?

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

Что мешает создать конкретные и определённые правила?