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