Очередной признак плохого кода - отсутствие свойств у класса. Опять же, это только признак, а не гарантия плохого кода. Бывает множество случаев, когда классы могут быть без свойств. Но если у вас в проекте большинство классов без свойств - это серьезный сигнал остановится и подумать, а все ли верно?
Если честно, классы без состояний и свойств вызывают у меня очень серьезное подозрение. Я имею в виду вообще без свойств. Если их нет, то это уже получается что-то без состояний, в чем бывает необходимость, но очень редко. Просто посмотреть на классы в составе .NET, как часто мы наталкиваемся на классы со свойствами.
Если в классе можно все методы сделать статичными, и функционал не поменяется, то почему они не статичные?
И я видел сайты, в которых некоторые классы реализованы только из статичных методов и это страшно. Я допускаю, что может быть такое, когда все статичное и код остается читаемым, хотя я такое себе с трудом представляю, я бы такое написать не смог.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Функциональное программирование без состояний и выглядит во многих случаях красивее. Главное не впадать в крайности и думать когда что-то делаешь
Я в фабриках не держу свойств - это плохо?
Норм
Михаил, можно узнать ваше мнение по поводу Ruby?
И насколько он востребован?
Я думаю что учить Ruby или c#
Я никогда с Ruby не работал. Слышал много хороших вещей, что там классно MVC сделан и вроде как .NET Razer взял от Ruby многое. Не знаю, на сколько верно.
Алексей,
Я писал довольно много на Ruby и скажу так: сам язык довольно приятный, Rails - классный фреймворк, для веб-разработки и там много что элегантно сделано (ASP.NET MVC много что оттуда перенял). Но язык довольно медленный, и инфраструктура вокруг него имеет свои особенности. Это в целом не проблема если уметь все правильно готовить, но времени на получение сакральных знаний можно убить много. На рельсах написано довольно много всего, вакансии есть, но конечно их в разы меньше чем под C#, Java или PHP. Ну и если ты не пользуешься Линукс или МакОС, то на Венде с Руби могут быть траблы в плане установки библиотек с расширениями на Си и менеджерами версий самого языка. Если тебя это не страшит, то берешь книжку Agile Web Development with Rails (от авторов фреймоврка, на русском тоже есть, но перевод ужасный) и в путь.
На C# я тоже кодил и считаю что сейчас это один из самых продвинутых и удобных языков сегодня. Он отлично подходит почти для любых целей (десктоп, веб, игрухи). Но лично меня дико огорчает замкнутость на виндовую инфраструктуру (да есть всякие Mono и .NET Core, но это так чисто поиграться, если хочешь сделать что-то серьезное нужна Венда и Visual Studio), соотвественно нужен виндовый хостинг и прочее. Вакансий по шарпе полно, но и конкуренция выше, а зарплаты в среднем ниже (хотя тут уже от твоих скиллов зависит).
В целом можно учить и то и другое, так как это разные языки с разными философскими подходами и для расширения кругозора полезно что-то написать и на том и на другом.
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.