Я думаю, что даже если вы пишете о своем собственном проекте, стоит придерживаться, насколько это возможно, общих / стандартных идиом на любом языке, который вы используете.
Я сам наткнулся на эту ловушку - написал некоторый код, который сделал что-то «умное», не документировал его в достаточной мере, и представил серьезную ошибку, когда я вернулся, чтобы изменить код несколько месяцев спустя.
Мое эмпирическое правило - используйте «основной язык» настолько, насколько это возможно для человека, и, когда вы отойдете от этого, тщательно документируйте свой подход. Избегайте использования синтаксического сахара, чтобы сделать ваш код короче, если это не действительно стандартная идиома (например, свойства в C #). Читаемость должна превосходить скорость печати каждый раз.
Если вы ожидаете, что обслуживающие кодеры возьмут на себя вашу работу, все это вдвойне верно. Вы не можете ожидать, что программисты обслуживания будут опытными в нескольких парадигмах в большинстве организаций. Поэтому, если вы, например, начните использовать логические / функциональные конструкции программирования, такие как лямбды, в своем объектно-ориентированном коде, тогда это немного похоже на написание главы на немецком языке в английской книге. Вы могли бы пожелать, чтобы ваши читатели были многоязычными энтузиастами, но, скорее всего, это не так.