vit_r: default (Default)
[personal profile] vit_r
Сколько раз давал себе зарок не спорить с гениями программизма... Ладно, очередная порция яда.

Кто-то утверждает, что писание программ - инженерная дисциплина. Многие ещё любят про архитекторов добавлять.

Фиг.

Я даже не стану обижать мой любимый менеджмент. По крайней мере там есть вполне честная статистика и достаточно осязаемые финансовые показатели. Чем больше читаю статей, книг, блогов, тем больше и больше ассоциация "Компьютерных Наук" с маркетингом.

Та же вкусовщина. Та же бездоказательность. Та же любовь выровнять всё по себе.

Главный аргумент: мне нравится - значит это правильно.

Книги "протухают" в течении пяти лет. Они писали на Фортране, значит ничего полезного не могли знать. Что мог понимать в программировании человек, если памяти в компьютере у него было меньше мегабайта. Тогда дизайна не было, ведь UML 2 ещё не изобрели.

И невдомёк зазнайкам, что в древних забытых книжках мудрые мысли и правильные слова погребены.И целая армия "теоретиков" тем кормится что опять велосипед изобретают. Пока что с круглым рулём и на квадратных колёсах. Самые умные, правда, переписывают. С рюшечками и "улучшениями", по дороге теряя логику и ссылку на первоисточник.

Короче, маркетинг в худшем своём проявлении. Особенно статистика, за методы добычи которой станет стыдно даже экономисту.

Всё началось с того, что в подзамочном посте поспорил по вопросу о том, сколько точек выхода должно быть у функции.

Замечу, ни какой объёктной-ориентированности. Ни каких функциональных извращений. Обычное кондовое процедурное программирование.

Опять программисты изобретают давно выброшенное на помойку. Сначала программы писали красиво и компактно. Вот так

Вариант 1


function()
    ...
        return A =>
    ...
        return B =>
    ...
    return C =>


Потом пришли умные люди, разобрались, сравнили и ввели правило.

Вариант 1


function()
    variable $to_return = NULL
    ...
        $to_return = A
    ...
        $to_return = B
    ...
        $to_return = C
    ...
    return $to_return =>


Дорога от Варианта 1 до Варианта 2 выложена седыми скальпами менеджеров и орошена слезами (а кое где и кровью) пользователей.

Но раз за разом приходят юные дарования различного возраста и заявляют Вариант 2 - это старьё, мы придумали Вариант 1. И утверждают, что он красивее, компактнее, читабильнее, понятнее...

И так и идут по жизни, гордо подняв новое старьё на флаг. Менеджеры - ничего не смыслят, клиенты вообще где-то в иной реальности. Все программисты гениальны, если б не сидели днями развалившись в кресле, на спине выросли б крылышки. Если б не склоняли голову над клавиатурой, над головой появилось бы свечение. А так неудобно: нимб за монитор задевать будет. Есть, конечно, тупые. Но это проблема начальства, если таких наняли.

Ну и последнее. Там, где результат чего-то значит,
Программа может не выполнить действие, но должна вернуть код ошибки.
Программа может вернуть код ошибки, но не может вернуть данные ошибочные.
Программа может вернуть ошибочные данные, но не может вернуть бред.

Потому как не выполненное действие - это только не выполненное действие.
Ошибка можно предусмотреть.
Ошибочные данные отловить при тестировании.
А вот против бреда лекарства не придуманы.

Date: 2010-03-08 08:34 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Мне кажется все же что и общие подходы меняются.

Естественно. Современная менеджерская школа утверждает, что стоня обезьян заменяет десяток классных инженеров любой специальности, если у обезьян есть правильные сертификаты и ими управляют правильные менеджеры по правильным методикам.

Полагаешь есть шанс заставить?

В приличных местах стандарты на кодирование обязательны к исполнению.

Нет нужды доказывать, проще назвать субъективным :)

Когда-то время программистов было ценно и проводились реальные эксперименты с реальными высокооплачиваемыми спецами. Сейчас (по причине указанной выше) обходятся частным мнением или статистикой на пяти студентах.

В приведенном тобой примере: я предпочитаю использовать подход номер два. Но если надо вывалится из вложенных циклов (типично при линейном поиске, например), то по всем параметрам удобнее окажется вариант номер раз.

В принципе, в некоторых алгоритмах и GOTO использовать надо. Только это всё специальные случаи и в код неизвестно кто не влезет.

Все же считаю что хороший (читай талантливый) программист в каждом конкретном случае найдет наиболее элегантное решение.

Ещё ни одного программиста не видел, кто б считал себя тупым и бесталанным. В результате такого бреда наизобретают...

Profile

vit_r: default (Default)
vit_r

May 2025

S M T W T F S
     12 3
4 5 6 78 910
11 121314 15 16 17
18 1920 21222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 23rd, 2025 09:33 am
Powered by Dreamwidth Studios