Процесс поиска работы привёл меня к следующему выводу.
Господа, говнокод уходит в прошлое, а на смену ему приходит новый подход, назовём его условно гнойнокод. Говнокод – это тупость, избыточность, неэффективность, лишь бы работало. Гнойнокод же вообще не функционирует, зато пишется быстро, даже слишком.
Как влиться в мейнстрим? Пока ещё не вышел соответствующий «манифесто», объясню. Прежде всего, используйте шаблон DRY 2.0 (DRY 1.0 – don’t repeat yourself, DRY 2.0 – don’t read yourself). Главный же принцип – «тяп-ляп и в продакшн» (TDD 2.0). Гнойнокод поражает все службы IT, начиная с отделов кадров: объявления о найме откровенно не перечитываются перед публикацией. Затем не проверяются на сайте, например:
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% ширины экрана хоть на каком-то устройстве. Новые версии старых программ не обросли заметной функциональностью, зато плохо заметной прибавилось: теперь они при открытии роются в личных файлах пользователя. Появилось целое направление компьютерной мысли по блокированию старых работоспособных версий и навязыванию свежего гноя…
Мы будем с теплотой в сердце вспоминать эпоху говнопрограмм, память о них навсегда сохранится в наших сердцах.
Здравствуйте, 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.
Есть стандарты их обычно придерживаются.
Ваши посты отдают немного какой то странностью и не логичностью. Возможно факт приведенный вами имеет место быть в каком нибудь стартпапе основанном школьниками.
Здравствуйте, T4r4sB, Вы писали:
TB>Здравствуйте, playnext, Вы писали:
P>>Почему вы решили что этот академический пример из книжки
TB>Аффтар набирал книжку прямо в браузере?
Здравствуйте, playnext, Вы писали:
P>Здравствуйте, mgu, Вы писали:
P>Почему вы решили что этот академический пример из книжки и есть промышленный код? Книжка о том ка пройти интервью а не как эффективно заминаться разработкой. P>Сейчас большинство контор где есть процесс пишут нормальный код — хорошо структурированный и оптимальный. Вам знакомо понятие код ревью? P>Если есть процесс, а в большинстве случаев он есть, то "программа просто зависает, вываливается или выдаёт неадекватный результат" просто не пройдет через QA. P>Есть стандарты их обычно придерживаются. P>Ваши посты отдают немного какой то странностью и не логичностью. Возможно факт приведенный вами имеет место быть в каком нибудь стартпапе основанном школьниками.
Бывает программа проходит через код ревью, через QA, но у заказчика зависает, вываливается и т.д. Это странно и нелогично, черт побери
Здравствуйте, mgu, Вы писали:
mgu>Главный же принцип – «тяп-ляп и в продакшн»
Ну это принцип известный, у нас половина команды свято ему следует. Зато таски быстро закрываются и кода визуально много — круто. Я уж не жду от коллег, что они тесты будут писать, но когда понимаешь, что написанный разработчиком код ни разу до "чекина" не выполнялся (иначе бы разработчик заметил ошибку, т.к. код, например, всегда выкидывает исключение), то становится печально...
mgu>(TDD 2.0)
А TDD вы к чему тут привели?
mgu>Пример гнойнокода из Cracking the Code Interview:
Отлично! Если сейчас главная цель — получить желаемую работу, то правильную книгу начали читать. Я серьезно. Я когда приехал в NY и начал ходить по собеседованиям, на каком-то из них мне сказали типа "Павел, ты парень умный, но ты не знаешь всех этих задачек, а всякие жители Индии их уже назубок все выучили и решают их с умным видом за 2 минуты, а ты возишься 5-10 минут и на их фоне выглядишь слабее. Почитай Cracking the Code Interview."
Ну я почитал и офигел — где-то половина задач которые мне давали на собеседованиях была из этой книги...
P>Почему вы решили что этот академический пример из книжки и есть промышленный код? Книжка о том ка пройти интервью а не как эффективно заминаться разработкой.
Зашибись. P>Сейчас большинство контор где есть процесс пишут нормальный код — хорошо структурированный и оптимальный. Вам знакомо понятие код ревью?
У вас там пони розовые по улицам не ходят? P>Если есть процесс, а в большинстве случаев он есть, то "программа просто зависает, вываливается или выдаёт неадекватный результат" просто не пройдет через QA.
А эльфы? P>Есть стандарты их обычно придерживаются.
Ну точно, молочные реки. P>Ваши посты отдают немного какой то странностью и не логичностью. Возможно факт приведенный вами имеет место быть в каком нибудь стартпапе основанном школьниками.
Кисельные берега.
Здравствуйте, playnext, Вы писали:
P>Почему вы решили что этот академический пример из книжки и есть промышленный код?
Я так не решал, а привёл академический пример... гнойнокода.
P>Книжка о том ка пройти интервью а не как эффективно заминаться разработкой.
Спасибо за ещё один пример DRY 2.0.
P>Сейчас большинство контор где есть процесс пишут нормальный код — хорошо структурированный и оптимальный. Вам знакомо понятие код ревью?
Это когда обсуждают количество пробелов в отступах? Конечно знакомо.
P>Если есть процесс, а в большинстве случаев он есть, то "программа просто зависает, вываливается или выдаёт неадекватный результат" просто не пройдет через QA.
Процесс есть, результата нет.
P>Есть стандарты их обычно придерживаются. P>Ваши посты отдают немного какой то странностью и не логичностью. Возможно факт приведенный вами имеет место быть в каком нибудь стартпапе основанном школьниками.
Кто-то придерживается стандартов правописания, а кто-то нет. С кодом та же петрушка.
То что вижу я — сегодня стори поинты гораздо важнее для демо дня чем какое то там качество кода,
и умение правильно покерить на груминге и исполнять танец репорта на стендапах перекрывает вообще знание программирования
Здравствуйте, Transformerrr, Вы писали:
T>Бывает программа проходит через код ревью, через QA, но у заказчика зависает, вываливается и т.д. Это странно и нелогично, черт побери
Это происходит оттого что во время скрамостояния кто-нибудь думает об обезьяне.
Здравствуйте, 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>Ну я почитал и офигел — где-то половина задач которые мне давали на собеседованиях была из этой книги...
Здравствуйте, The Passenger, Вы писали:
TP>Здравствуйте, mgu, Вы писали:
TP>То что вижу я — сегодня стори поинты гораздо важнее для демо дня чем какое то там качество кода, TP>и умение правильно покерить на груминге и исполнять танец репорта на стендапах перекрывает вообще знание программирования
TP>... если вы понимаете о чем я
Здравствуйте, mgu, Вы писали:
mgu>Здравствуйте, Transformerrr, Вы писали:
T>>Бывает программа проходит через код ревью, через QA, но у заказчика зависает, вываливается и т.д. Это странно и нелогично, черт побери
mgu>Это происходит оттого что во время скрамостояния кто-нибудь думает об обезьяне.
Причем тут скрамостояние. Если QA пропустил такое качество то это проблемы QA, если не пропускает то разработчик обязан исправить пока не будет работать как в требованиях.
Скрамостояние качества не гарантирует.
Здравствуйте, mgu, Вы писали:
mgu>Здравствуйте, playnext, Вы писали:
P>>Почему вы решили что этот академический пример из книжки и есть промышленный код?
mgu>Я так не решал, а привёл академический пример... гнойнокода.
Я из изначального сообщения понял что это обшая тенденция.
P>>Книжка о том ка пройти интервью а не как эффективно заминаться разработкой.
mgu>Спасибо за ещё один пример DRY 2.0.
P>>Сейчас большинство контор где есть процесс пишут нормальный код — хорошо структурированный и оптимальный. Вам знакомо понятие код ревью?
mgu>Это когда обсуждают количество пробелов в отступах? Конечно знакомо.
Там пробелы реже всего обсуждают. Есть автоматические инструменты которые это делают, вы знали об этом?
P>>Если есть процесс, а в большинстве случаев он есть, то "программа просто зависает, вываливается или выдаёт неадекватный результат" просто не пройдет через QA.
mgu>Процесс есть, результата нет.
Это проблема процесса. Из него следует и качество продукта и требуемая квалификация инженеров.
P>>Есть стандарты их обычно придерживаются. P>>Ваши посты отдают немного какой то странностью и не логичностью. Возможно факт приведенный вами имеет место быть в каком нибудь стартпапе основанном школьниками.
mgu>Кто-то придерживается стандартов правописания, а кто-то нет. С кодом та же петрушка.
Опять, если есть процесс он заставт это делать. Есть процедуры конторя на разных фазах работы на проектами.
Здравствуйте, 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>А то. Я прочитал эту книгу и подобные говнопособия, а затем блеснул на интервью. Результат: Угадал все буквы, не смог назвать слово