?

Log in

No account? Create an account
readonly. - masterden says [entries|archive|friends|userinfo]
masterden

[ website | программирование ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

readonly. [Mar. 6th, 2017|07:31 am]
masterden
[Tags|, ]

Оригинал взят у droids_life в readonly.


Продолжая тему readonly полей, хотелось бы отметить, что в последнее время я стал предпочитать их вместо get-only auto properties. Если ошибку «забыли инициализировать» для первых находит компилятор, то для вторых только ReSharper. Как следствие, потенциально, проблема может быть обнаружена только на TeamCity. Конечно, может повезти, и внимательный аккуратный программист прогонит анализатор до проталкивания своих изменений в общий репозиторий.

Ещё заметил у некоторых коллег и студентов привычку использовать т.н. expression bodied functions даже в случаях, где надо создавать константу. То есть, упрощение синтаксиса свойств дошло до такого, что люди перестали париться в выборе «поле? или константа? или свойство?». Просто фигачат «public static int Value => 10;» вместо «public const int Value = 10;».

Кстати, про анализаторы. После нескольких испытаний пришли к выводу, что для C# кода на текущий момент PVS бесполезна. По сравнению с решарпером не находит ничего принципиально нового. В отличие от статического анализатора VisualStudio, который недавно нашёл у нас несколько проблем с использованием объектов, класс которых реализует IDisposable (повторный вызов Dispose, забыли позвать Dispose).
linkReply