О безмятежном покое процедурных программистов
08.02.2012 Среда 22:54
Ко мне попал любопытный проект. Это веб-приложение на ASP.NET. В solution включены порядка пятнадцати файлов, но подавляющее большинство из них совсем небольшие. Зато один... Тот, фрагмент которого виден на скриншоте... Это нечто, что поразило меня до глубины души: его размер — 190 килобайт и в этом файле почти четырнадцать тысяч строк! Я просто в шоке. Я в своей работе начинаю чувствовать себя неуютно, когда размер файла достигает трёхсот строк, и совсем теряю покой при количестве строк, приближающемся к пятистам. А тут четырнадцать тысяч!
Но это ещё не всё. Если более пристально присмотреться к содержимому этого файла, то откроются не менее удивительные вещи. Выяснилось, что его содержимое — это
один единственный класс! В него включён большой набор переменных класса и много функций. То есть, этот класс по сути является не более чем оболочкой для программы, написанной в стиле процедурного программирования!
Мда... Годы развития человеческой мысли в области IT, давшие нам концепцию объектно-ориентированного программирования, явно прошли мимо людей, писавших этот код, не нарушив их безмятежного покоя...
12.03.2018 Понедельник 18:47
Вот, кстати, рекомендация на официальном сайте Angular, с которой я абсолютно согласен:
"Consider limiting files to 400 lines of code."
https://angular.io/guide/styleguide
16.03.2018 Пятница 20:31
Представь себе что есть категория прогеров которые эволюционировали и ООП теперь ругательное слово!
Рекомендую https://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
25.03.2018 Воскресенье 12:05
Мне не совсем понятно, зачем добровольно загонять себя в рамки чисто функционального программирования. Концепции ООП и функционального программирования вполне себе сочетаются, обе внося вклад в эффективность программного года. Например, на C# вполне можно писать в стиле ООП, локально применяя лямбда-функции и целые библиотеки, построенные с использованием парадигмы функционального программирования. Получается очень неплохо, имхо.