Практика кодирования не зависит от языка. Вы можете просто испортить исходный код на любом языке, и то, что является хорошей практикой, субъективно.
Например, в C # на уровне функций вы можете объявить любую переменную с помощью var, и компилятор обеспечит безопасность типов, однако многим людям не нравится var, и они считают, что это усложняет процесс кодирования. Лично я люблю var, особенно когда тип упоминается справа:
* 1005 Е.Г. *
var firstName = новая строка ();
лучше для меня, чем ...
string firstName = new string ();
... потому что почему мне нужно произносить строку firstName, когда я знаю, что это строка, основанная на экземпляре справа? Конечно, еще раз это субъективно.
Стандарты и использование инструментов анализа кода в сочетании с обзорами кода могут действительно изменить ситуацию.
Вот список хороших инструментов анализа:
http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis