Конец эпохи говнокода
От: mgu  
Дата: 27.01.16 23:15
Оценка: 7 (2) +9 :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :)))
Процесс поиска работы привёл меня к следующему выводу.

Господа, говнокод уходит в прошлое, а на смену ему приходит новый подход, назовём его условно гнойнокод. Говнокод – это тупость, избыточность, неэффективность, лишь бы работало. Гнойнокод же вообще не функционирует, зато пишется быстро, даже слишком.

Как влиться в мейнстрим? Пока ещё не вышел соответствующий «манифесто», объясню. Прежде всего, используйте шаблон DRY 2.0 (DRY 1.0 – don’t repeat yourself, DRY 2.0 – don’t read yourself). Главный же принцип – «тяп-ляп и в продакшн» (TDD 2.0). Гнойнокод поражает все службы IT, начиная с отделов кадров: объявления о найме откровенно не перечитываются перед публикацией. Затем не проверяются на сайте, например:

https://tas-yahoo.taleo.net/careersection/yahoo_us_cs/jobdetail.ftl?job=1544936

Пример гнойнокода из Cracking the Code Interview:

Implementing a Queue

class Queue {
    Node first, last;
    void enqueue(Object item) { 
        if (!first) {
            back = new Node(item);
            first = back;
        } else {
            back.next = new Node(item);
            back = back.next;
        }
    }
    Node dequeue(Node n) { 
        if (front != null) {
            Object item = front.data;
            front = front.next;
            return item;
        }
        return null;
    } 
}

Если при говнокодировании операции выполнялись неадекватно долго, то при гнойнокодировании программа просто зависает, вываливается или выдаёт неадекватный результат. Появился термин responsive design – это когда веб-программисты не способны вычислить 100% ширины экрана хоть на каком-то устройстве. Новые версии старых программ не обросли заметной функциональностью, зато плохо заметной прибавилось: теперь они при открытии роются в личных файлах пользователя. Появилось целое направление компьютерной мысли по блокированию старых работоспособных версий и навязыванию свежего гноя…

Мы будем с теплотой в сердце вспоминать эпоху говнопрограмм, память о них навсегда сохранится в наших сердцах.
Re: Конец эпохи говнокода
От: SkyDance Земля  
Дата: 28.01.16 04:34
Оценка:
mgu>Пример гнойнокода из Cracking the Code Interview:
mgu>
mgu>class Queue {
mgu>    Node first, last;
mgu>    void enqueue(Object item) { 
mgu>        if (!first) {
mgu>            back = new Node(item);
mgu>            first = back;
mgu>        } else {
mgu>            back.next = new Node(item);
mgu>            back = back.next;
mgu>        }
mgu>    }
mgu>}
mgu>


Забавно, да. И как это компилируется?
Re[2]: Конец эпохи говнокода
От: D. Petrov США  
Дата: 28.01.16 05:44
Оценка: +2 :))) :))) :))) :))) :))
Здравствуйте, SkyDance, Вы писали:

SD>Забавно, да. И как это компилирует?


Компилируется? Это все осталось в прошлой эпохе.
Re: Конец эпохи говнокода
От: T4r4sB Россия  
Дата: 28.01.16 08:15
Оценка:
Здравствуйте, mgu, Вы писали:

mgu>Пример гнойнокода из Cracking the Code Interview:


Ну у меня такое бывает, когда набираю код в браузере и лень перечитывать.
Re: Конец эпохи говнокода
От: playnext  
Дата: 28.01.16 10:59
Оценка: :))) :))
Здравствуйте, mgu, Вы писали:

mgu>Процесс поиска работы привёл меня к следующему выводу.


mgu>Господа, говнокод уходит в прошлое, а на смену ему приходит новый подход, назовём его условно гнойнокод. Говнокод – это тупость, избыточность, неэффективность, лишь бы работало. Гнойнокод же вообще не функционирует, зато пишется быстро, даже слишком.


mgu>Как влиться в мейнстрим? Пока ещё не вышел соответствующий «манифесто», объясню. Прежде всего, используйте шаблон DRY 2.0 (DRY 1.0 – don’t repeat yourself, DRY 2.0 – don’t read yourself). Главный же принцип – «тяп-ляп и в продакшн» (TDD 2.0). Гнойнокод поражает все службы IT, начиная с отделов кадров: объявления о найме откровенно не перечитываются перед публикацией. Затем не проверяются на сайте, например:


mgu>https://tas-yahoo.taleo.net/careersection/yahoo_us_cs/jobdetail.ftl?job=1544936


mgu>Пример гнойнокода из Cracking the Code Interview:


mgu>
mgu>Implementing a Queue

mgu>class Queue {
mgu>    Node first, last;
mgu>    void enqueue(Object item) { 
mgu>        if (!first) {
mgu>            back = new Node(item);
mgu>            first = back;
mgu>        } else {
mgu>            back.next = new Node(item);
mgu>            back = back.next;
mgu>        }
mgu>    }
mgu>    Node dequeue(Node n) { 
mgu>        if (front != null) {
mgu>            Object item = front.data;
mgu>            front = front.next;
mgu>            return item;
mgu>        }
mgu>        return null;
mgu>    } 
mgu>}
mgu>

mgu>Если при говнокодировании операции выполнялись неадекватно долго, то при гнойнокодировании программа просто зависает, вываливается или выдаёт неадекватный результат. Появился термин responsive design – это когда веб-программисты не способны вычислить 100% ширины экрана хоть на каком-то устройстве. Новые версии старых программ не обросли заметной функциональностью, зато плохо заметной прибавилось: теперь они при открытии роются в личных файлах пользователя. Появилось целое направление компьютерной мысли по блокированию старых работоспособных версий и навязыванию свежего гноя…

mgu>Мы будем с теплотой в сердце вспоминать эпоху говнопрограмм, память о них навсегда сохранится в наших сердцах.


Почему вы решили что этот академический пример из книжки и есть промышленный код? Книжка о том ка пройти интервью а не как эффективно заминаться разработкой.
Сейчас большинство контор где есть процесс пишут нормальный код — хорошо структурированный и оптимальный. Вам знакомо понятие код ревью?
Если есть процесс, а в большинстве случаев он есть, то "программа просто зависает, вываливается или выдаёт неадекватный результат" просто не пройдет через QA.
Есть стандарты их обычно придерживаются.
Ваши посты отдают немного какой то странностью и не логичностью. Возможно факт приведенный вами имеет место быть в каком нибудь стартпапе основанном школьниками.
Re[2]: Конец эпохи говнокода
От: T4r4sB Россия  
Дата: 28.01.16 12:52
Оценка:
Здравствуйте, playnext, Вы писали:

P>Почему вы решили что этот академический пример из книжки


Аффтар набирал книжку прямо в браузере?
Re[3]: Конец эпохи говнокода
От: playnext  
Дата: 28.01.16 13:29
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>Здравствуйте, playnext, Вы писали:


P>>Почему вы решили что этот академический пример из книжки


TB>Аффтар набирал книжку прямо в браузере?
Re[2]: Конец эпохи говнокода
От: mgu  
Дата: 28.01.16 16:22
Оценка:
Здравствуйте, SkyDance, Вы писали:

mgu>>Пример гнойнокода из Cracking the Code Interview:

mgu>>
mgu>>class Queue {
mgu>>    Node first, last;
mgu>>    void enqueue(Object item) { 
mgu>>        if (!first) {
mgu>>            back = new Node(item);
mgu>>            first = back;
mgu>>        } else {
mgu>>            back.next = new Node(item);
mgu>>            back = back.next;
mgu>>        }
mgu>>    }
mgu>>}
mgu>>


SD>Забавно, да. И как это компилируется?


Никак. Райком закрыт, все ушли на...

    Node dequeue(Node n) { 
        if (front != null) {
            Object item = front.data;
            front = front.next;
            return item;
        }
        return null;
    }
Re[2]: Конец эпохи говнокода
От: Transformerrr  
Дата: 28.01.16 16:27
Оценка:
Здравствуйте, playnext, Вы писали:

P>Здравствуйте, mgu, Вы писали:



P>Почему вы решили что этот академический пример из книжки и есть промышленный код? Книжка о том ка пройти интервью а не как эффективно заминаться разработкой.

P>Сейчас большинство контор где есть процесс пишут нормальный код — хорошо структурированный и оптимальный. Вам знакомо понятие код ревью?
P>Если есть процесс, а в большинстве случаев он есть, то "программа просто зависает, вываливается или выдаёт неадекватный результат" просто не пройдет через QA.
P>Есть стандарты их обычно придерживаются.
P>Ваши посты отдают немного какой то странностью и не логичностью. Возможно факт приведенный вами имеет место быть в каком нибудь стартпапе основанном школьниками.

Бывает программа проходит через код ревью, через QA, но у заказчика зависает, вываливается и т.д. Это странно и нелогично, черт побери
Re: Конец эпохи говнокода
От: MozgC США http://nightcoder.livejournal.com
Дата: 28.01.16 16:43
Оценка: :))
Здравствуйте, mgu, Вы писали:

mgu>Главный же принцип – «тяп-ляп и в продакшн»

Ну это принцип известный, у нас половина команды свято ему следует. Зато таски быстро закрываются и кода визуально много — круто. Я уж не жду от коллег, что они тесты будут писать, но когда понимаешь, что написанный разработчиком код ни разу до "чекина" не выполнялся (иначе бы разработчик заметил ошибку, т.к. код, например, всегда выкидывает исключение), то становится печально...

mgu>(TDD 2.0)

А TDD вы к чему тут привели?

mgu>Пример гнойнокода из Cracking the Code Interview:

Отлично! Если сейчас главная цель — получить желаемую работу, то правильную книгу начали читать. Я серьезно. Я когда приехал в NY и начал ходить по собеседованиям, на каком-то из них мне сказали типа "Павел, ты парень умный, но ты не знаешь всех этих задачек, а всякие жители Индии их уже назубок все выучили и решают их с умным видом за 2 минуты, а ты возишься 5-10 минут и на их фоне выглядишь слабее. Почитай Cracking the Code Interview."
Ну я почитал и офигел — где-то половина задач которые мне давали на собеседованиях была из этой книги...
Re[2]: Конец эпохи говнокода
От: dr. Acula Украина  
Дата: 28.01.16 16:44
Оценка: +4 :))
P>Почему вы решили что этот академический пример из книжки и есть промышленный код? Книжка о том ка пройти интервью а не как эффективно заминаться разработкой.
Зашибись.
P>Сейчас большинство контор где есть процесс пишут нормальный код — хорошо структурированный и оптимальный. Вам знакомо понятие код ревью?
У вас там пони розовые по улицам не ходят?
P>Если есть процесс, а в большинстве случаев он есть, то "программа просто зависает, вываливается или выдаёт неадекватный результат" просто не пройдет через QA.
А эльфы?
P>Есть стандарты их обычно придерживаются.
Ну точно, молочные реки.
P>Ваши посты отдают немного какой то странностью и не логичностью. Возможно факт приведенный вами имеет место быть в каком нибудь стартпапе основанном школьниками.
Кисельные берега.
Re[2]: Конец эпохи говнокода
От: mgu  
Дата: 28.01.16 16:47
Оценка: +1 :)
Здравствуйте, playnext, Вы писали:

P>Почему вы решили что этот академический пример из книжки и есть промышленный код?


Я так не решал, а привёл академический пример... гнойнокода.

P>Книжка о том ка пройти интервью а не как эффективно заминаться разработкой.


Спасибо за ещё один пример DRY 2.0.

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


Это когда обсуждают количество пробелов в отступах? Конечно знакомо.

P>Если есть процесс, а в большинстве случаев он есть, то "программа просто зависает, вываливается или выдаёт неадекватный результат" просто не пройдет через QA.


Процесс есть, результата нет.

P>Есть стандарты их обычно придерживаются.

P>Ваши посты отдают немного какой то странностью и не логичностью. Возможно факт приведенный вами имеет место быть в каком нибудь стартпапе основанном школьниками.

Кто-то придерживается стандартов правописания, а кто-то нет. С кодом та же петрушка.
Re[3]: Конец эпохи говнокода
От: mgu  
Дата: 28.01.16 16:49
Оценка: :))) :))
Здравствуйте, T4r4sB, Вы писали:

P>>Почему вы решили что этот академический пример из книжки


TB>Аффтар набирал книжку прямо в браузере?


АффтарЫ. Их там было шестеро: трое писали, один ПМ, один скрамовод, один начальник.
Re: Конец эпохи говнокода
От: The Passenger Голландия  
Дата: 28.01.16 16:52
Оценка: :)
Здравствуйте, mgu, Вы писали:

То что вижу я — сегодня стори поинты гораздо важнее для демо дня чем какое то там качество кода,
и умение правильно покерить на груминге и исполнять танец репорта на стендапах перекрывает вообще знание программирования

... если вы понимаете о чем я
Весь мир — Кремль, а люди в нем — агенты
Re[3]: Конец эпохи говнокода
От: mgu  
Дата: 28.01.16 16:54
Оценка: +2 :)))
Здравствуйте, Transformerrr, Вы писали:

T>Бывает программа проходит через код ревью, через QA, но у заказчика зависает, вываливается и т.д. Это странно и нелогично, черт побери


Это происходит оттого что во время скрамостояния кто-нибудь думает об обезьяне.
Re[2]: Конец эпохи говнокода
От: mgu  
Дата: 28.01.16 17:15
Оценка:
Здравствуйте, MozgC, Вы писали:

mgu>>Главный же принцип – «тяп-ляп и в продакшн»

MC>Ну это принцип известный, у нас половина команды свято ему следует. Зато таски быстро закрываются и кода визуально много — круто. Я уж не жду от коллег, что они тесты будут писать, но когда понимаешь, что написанный разработчиком код ни разу до "чекина" не выполнялся (иначе бы разработчик заметил ошибку, т.к. код, например, всегда выкидывает исключение), то становится печально...

Угу, есть ещё любители скинуть некомпилируемый код. Это уже верх лени.

mgu>>(TDD 2.0)

MC>А TDD вы к чему тут привели?

Просто до появления в вакансиях вируса TDD программы были надёжнее, а до "алгоритмы и структуры данных" -- быстрее.

mgu>>Пример гнойнокода из Cracking the Code Interview:

MC>Отлично! Если сейчас главная цель — получить желаемую работу, то правильную книгу начали читать. Я серьезно. Я когда приехал в NY и начал ходить по собеседованиям, на каком-то из них мне сказали типа "Павел, ты парень умный, но ты не знаешь всех этих задачек, а всякие жители Индии их уже назубок все выучили и решают их с умным видом за 2 минуты, а ты возишься 5-10 минут и на их фоне выглядишь слабее. Почитай Cracking the Code Interview."
MC>Ну я почитал и офигел — где-то половина задач которые мне давали на собеседованиях была из этой книги...

А то. Я прочитал эту книгу и подобные говнопособия, а затем блеснул на интервью. Результат: Угадал все буквы, не смог назвать слово
Автор: mgu
Дата: 30.11.15
.
Re[2]: Конец эпохи говнокода
От: mgu  
Дата: 28.01.16 17:19
Оценка:
Здравствуйте, The Passenger, Вы писали:

TP>Здравствуйте, mgu, Вы писали:


TP>То что вижу я — сегодня стори поинты гораздо важнее для демо дня чем какое то там качество кода,

TP>и умение правильно покерить на груминге и исполнять танец репорта на стендапах перекрывает вообще знание программирования

TP>... если вы понимаете о чем я


Компренэ, компренэ.
Re[4]: Конец эпохи говнокода
От: playnext  
Дата: 28.01.16 17:45
Оценка: +1
Здравствуйте, mgu, Вы писали:

mgu>Здравствуйте, Transformerrr, Вы писали:


T>>Бывает программа проходит через код ревью, через QA, но у заказчика зависает, вываливается и т.д. Это странно и нелогично, черт побери


mgu>Это происходит оттого что во время скрамостояния кто-нибудь думает об обезьяне.


Причем тут скрамостояние. Если QA пропустил такое качество то это проблемы QA, если не пропускает то разработчик обязан исправить пока не будет работать как в требованиях.
Скрамостояние качества не гарантирует.
Re[3]: Конец эпохи говнокода
От: playnext  
Дата: 28.01.16 17:51
Оценка: +1 :)
Здравствуйте, mgu, Вы писали:

mgu>Здравствуйте, playnext, Вы писали:


P>>Почему вы решили что этот академический пример из книжки и есть промышленный код?


mgu>Я так не решал, а привёл академический пример... гнойнокода.

Я из изначального сообщения понял что это обшая тенденция.

P>>Книжка о том ка пройти интервью а не как эффективно заминаться разработкой.


mgu>Спасибо за ещё один пример DRY 2.0.


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


mgu>Это когда обсуждают количество пробелов в отступах? Конечно знакомо.

Там пробелы реже всего обсуждают. Есть автоматические инструменты которые это делают, вы знали об этом?

P>>Если есть процесс, а в большинстве случаев он есть, то "программа просто зависает, вываливается или выдаёт неадекватный результат" просто не пройдет через QA.


mgu>Процесс есть, результата нет.

Это проблема процесса. Из него следует и качество продукта и требуемая квалификация инженеров.

P>>Есть стандарты их обычно придерживаются.

P>>Ваши посты отдают немного какой то странностью и не логичностью. Возможно факт приведенный вами имеет место быть в каком нибудь стартпапе основанном школьниками.

mgu>Кто-то придерживается стандартов правописания, а кто-то нет. С кодом та же петрушка.

Опять, если есть процесс он заставт это делать. Есть процедуры конторя на разных фазах работы на проектами.
Re[3]: Конец эпохи говнокода
От: playnext  
Дата: 28.01.16 17:52
Оценка:
Здравствуйте, mgu, Вы писали:

mgu>Здравствуйте, MozgC, Вы писали:


mgu>>>Главный же принцип – «тяп-ляп и в продакшн»

MC>>Ну это принцип известный, у нас половина команды свято ему следует. Зато таски быстро закрываются и кода визуально много — круто. Я уж не жду от коллег, что они тесты будут писать, но когда понимаешь, что написанный разработчиком код ни разу до "чекина" не выполнялся (иначе бы разработчик заметил ошибку, т.к. код, например, всегда выкидывает исключение), то становится печально...

mgu>Угу, есть ещё любители скинуть некомпилируемый код. Это уже верх лени.


mgu>>>(TDD 2.0)

MC>>А TDD вы к чему тут привели?

mgu>Просто до появления в вакансиях вируса TDD программы были надёжнее, а до "алгоритмы и структуры данных" -- быстрее.


mgu>>>Пример гнойнокода из Cracking the Code Interview:

MC>>Отлично! Если сейчас главная цель — получить желаемую работу, то правильную книгу начали читать. Я серьезно. Я когда приехал в NY и начал ходить по собеседованиям, на каком-то из них мне сказали типа "Павел, ты парень умный, но ты не знаешь всех этих задачек, а всякие жители Индии их уже назубок все выучили и решают их с умным видом за 2 минуты, а ты возишься 5-10 минут и на их фоне выглядишь слабее. Почитай Cracking the Code Interview."
MC>>Ну я почитал и офигел — где-то половина задач которые мне давали на собеседованиях была из этой книги...

mgu>А то. Я прочитал эту книгу и подобные говнопособия, а затем блеснул на интервью. Результат: Угадал все буквы, не смог назвать слово
Автор: mgu
Дата: 30.11.15
.

Вам могут задать вопрос не из книги. Вы не думая читали пособие, наизусть учили?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.