Мне нравится и очень рекомендую Juval Lowy's - Стандарт кодирования С#. Juval явно избегает логического обоснования для каждой директивы, чтобы поддерживать стандартную плотность (см. Предисловие). Тем не менее, есть несколько директив, для которых я нахожу себя любопытным относительно обоснования.
Каково конкретное обоснование следующих директив из стандарта Lowy С#?
Надеюсь, на них есть твердые (не субъективные) ответы.
1.13 Избегайте полных имен типов. Вместо этого используйте инструкцию "using".
Это проблема производительности? Иногда мне нужен только один экземпляр полного имени и добавление использования кажется тяжелым.
1.26. Используйте пустую скобку для беспараметричных анонимных методов. Опустите скобки только в том случае, если анонимный метод можно было использовать для любого делегата.
На самом деле меня просто смущает второе предложение. Объяснение примерами поможет вам, спасибо.
2.19 Избегайте определения настраиваемых классов исключений
Каковы соображения по минимизации их числа? (Далее он дает рекомендации, если вы их определяете (в 2.20).)
2.29 Избегайте использования тернарного условного оператора
Слишком сложно для читателя переварить или другие соображения?
2.31 Избегайте вызовов функций в булевых условных операторах. Назначьте локальные переменные и проверьте их.
Я не думаю, что я это делаю, но мне любопытно... почему бы и нет?
2.47 Избегайте интерфейсов с одним элементом.
Потому что всегда/обычно предпочтительнее делать что? Один интерфейс метода работает, когда?
2.53 Предпочитаете использовать явную реализацию интерфейса
Зачем? Кроме того, Джон Скит здесь не согласен.
Спасибо заранее! Роберт