Вообще, это очень интересный момент. Далеко не каждый начальник послушает такое утверждение, им далеко не каждый коллектив такое действие поймёт. Так что предложенное вами, в общем случае, риск рабочим местом.
Я бы не сказал, что это сознательная обфускация. Я себя тешу мыслью, что человеку просто не дано программировать. Как у кого-то нет слуха, а кто-то не умеет рисовать.
> В конторах, которым пофиг на код именно так и говорится
«Почему так долго? %name% писал весь модуль столько, а ты не можешь исправить единственный баг?» — «тут надо половину переписать, чтобы сделать хоть что-то» — «нафиг переписывать» — «существующий код ужасен» — «быть этого не может, %name% отличный программист» ;)
Вся проблема в том, что говнокод в виде чёрного ящика — скорее исключение, чем правило. Если вы глянете всё тот же код по ссылке, то найдёте там обращение к глобальным переменным. Этот проект можно в качестве образца использовать, ага.
> Третье для меня лишь причина применять организационные, дисциплинарные или административные меры
А разве может это сделать рядовой программист в команде? Вот именно поэтому и НЕНАВИСТЬ.
Есть кривой код, который написан из-за спешки. Это «технический долг». Это исправимая проблема.
Есть кривой код, который написан из-за неопытности — это исправляется объяснением автору код чем написанный код плох… Это рабочий момент.
Есть кривой код, который написае из-за нежелания писать хорошо вопреки здравому смыслу. И это НЕНАВИСТЬ.
> Оправданием говнокоду может служить простой фактор
А вы посмотрите ссылку pastebin.com/UaTdN6K2, ага ) Это особый сорт, возникающий отнюдь не из-за сжатых сроков или забивания кодером на качество.
> проблема того, кто заказал только функциональность без требований к качеству.
В теории — может быть. Но не на практике. В конторах, которым пофиг на код — время на устранение чужой кучи приходится выбивать самому программисту, и хорошо если удастся. Конкретно код по ссылке был заменён только потому, что переписать заново было значительно быстрее, чем модифицировать.
> без неожиданных побочных эффектов.
Мой опыт общения с подобным кодом показывает, что сторонние эффекты есть практически всегда. И хорошо если это нарушение порядка сортировки, но это может быть кривой менеджмент памяти. И тогда — привет SIGSEGV в рандомном месте.
Я не исключаю существования говнокода в форме чёрного ящика, но печаль в том, что если в проекте появляется говнокод — он имеет свойство распускать свои тентакли всюду.
В целом, я согласен с изложенным статье. Почти.
> Да, извините. Вы — отстой по части многих вещей.
Но я не пытаюсь зарабатывать ими на жизнь. Я в такие области пытаюсь вообще не лезть без необходимости.
И каждый раз, когда кто-то выдвигает оправдания существованию говнокода, мне хочется просто дать эту ссылку: pastebin.com/UaTdN6K2
Написанному там — нет оправдания, и что этот человек забыл в разработке — я решительно не понинаю.
Тогда действительно, проверьте настройки системы. Потому как даже на автоапдейте (я обычно использую вариант с выбором перед загрузкой) она меня перед фактом перезагрузки не ставила. А так я ей ожидание до 12+ часов устраивал.
Гм, видимо мы друг друга не поняли.
У вас восьмёрка ведь?
В общем это работает так:
Windows Update проверяет обновления. Находит.
Windows Update скачивает обновления, добавляет значёк с сообщением в трей.
Вы видите в трее сообщение (Baloon Tip), либо сразу, либо после выхода из полноэкранного режима. Думаете, «опять эта хрень скачала обновления, да сколько можно-то» (возможны и другие варианты), доделываете свои дела, открываете уведомления и жмёте «установить».
Идёте готовить/пить чай.
Если это семёрка — она выдаст сообщение о том, что для завершения установки надо перезагрузиться, и две кнопки — «перезагрузка» и «напомнить позже». (можно отложить напоминание до 4х часов)
В семёрке 4 пункта:
Автоматически устанавливать (установит всё)
Скачать всё и спросить
Спросить и скачать подтверждённое
Не обновляться.
Я так понял, вам предлагают 2й пункт.
Само обновление системы до предложения перезагрузки занимает порядка минуты. Думаю, если у вас есть время на перезагрузку, время подождать, пока оно установится у вас найдётся. В остальном — то, что вы хотите.
Винда, вроде как, пытается восстановить все закрытые при перезагрузке приложения (причём со времён 98й так точно). Другой вопрос, что это у неё крайне плохо получается. В 7ке я такое периодически наблюдаю только с окнами проводника. Может быть Хром под раздачу попал?
Ух. Попробую не взорвать мозг самому себе.
Попробуйте представить n+1-мерное пространство над нащим, причём n+1ое измерение так же подобно времени (t2). Если наше пространство-время — снимок при константном t2 — то, как вариант — бесследное исчезновение вселенное — это исчезновение при смещении по t2.
Это особенности некоторых парсеров сайтов, которые выделяют урлы автоматом: если после урла стоит точка, завершающая предложение, они её запихивают в урл. Например так было раньше на сайте www.habrahabr.ru. Сейчас уже исправленно, как видите.
Всякие гварды — однозначно да. Загрузчики — так же да, потому как они мимикрируют под другое ПО или его компоненты.
А так интересен тот момент, что через загрузчик, подписанный сертификатом mail.ru, можно загрузить любое ПО, что, как выяснилось, позволяет его использовать как дропер. А это компрометация сертификата и такой сертификат надо отзывать.
> В конторах, которым пофиг на код именно так и говорится
«Почему так долго? %name% писал весь модуль столько, а ты не можешь исправить единственный баг?» — «тут надо половину переписать, чтобы сделать хоть что-то» — «нафиг переписывать» — «существующий код ужасен» — «быть этого не может, %name% отличный программист» ;)
Вся проблема в том, что говнокод в виде чёрного ящика — скорее исключение, чем правило. Если вы глянете всё тот же код по ссылке, то найдёте там обращение к глобальным переменным. Этот проект можно в качестве образца использовать, ага.
А разве может это сделать рядовой программист в команде? Вот именно поэтому и НЕНАВИСТЬ.
Есть кривой код, который написан из-за неопытности — это исправляется объяснением автору код чем написанный код плох… Это рабочий момент.
Есть кривой код, который написае из-за нежелания писать хорошо вопреки здравому смыслу. И это НЕНАВИСТЬ.
А вы посмотрите ссылку pastebin.com/UaTdN6K2, ага ) Это особый сорт, возникающий отнюдь не из-за сжатых сроков или забивания кодером на качество.
> проблема того, кто заказал только функциональность без требований к качеству.
В теории — может быть. Но не на практике. В конторах, которым пофиг на код — время на устранение чужой кучи приходится выбивать самому программисту, и хорошо если удастся. Конкретно код по ссылке был заменён только потому, что переписать заново было значительно быстрее, чем модифицировать.
> без неожиданных побочных эффектов.
Мой опыт общения с подобным кодом показывает, что сторонние эффекты есть практически всегда. И хорошо если это нарушение порядка сортировки, но это может быть кривой менеджмент памяти. И тогда — привет SIGSEGV в рандомном месте.
Я не исключаю существования говнокода в форме чёрного ящика, но печаль в том, что если в проекте появляется говнокод — он имеет свойство распускать свои тентакли всюду.
> Да, извините. Вы — отстой по части многих вещей.
Но я не пытаюсь зарабатывать ими на жизнь. Я в такие области пытаюсь вообще не лезть без необходимости.
И каждый раз, когда кто-то выдвигает оправдания существованию говнокода, мне хочется просто дать эту ссылку:
pastebin.com/UaTdN6K2
Написанному там — нет оправдания, и что этот человек забыл в разработке — я решительно не понинаю.
У вас восьмёрка ведь?
В общем это работает так:
Windows Update проверяет обновления. Находит.
Windows Update скачивает обновления, добавляет значёк с сообщением в трей.
Вы видите в трее сообщение (Baloon Tip), либо сразу, либо после выхода из полноэкранного режима. Думаете, «опять эта хрень скачала обновления, да сколько можно-то» (возможны и другие варианты), доделываете свои дела, открываете уведомления и жмёте «установить».
Идёте готовить/пить чай.
Если это семёрка — она выдаст сообщение о том, что для завершения установки надо перезагрузиться, и две кнопки — «перезагрузка» и «напомнить позже». (можно отложить напоминание до 4х часов)
Автоматически устанавливать (установит всё)
Скачать всё и спросить
Спросить и скачать подтверждённое
Не обновляться.
Я так понял, вам предлагают 2й пункт.
Само обновление системы до предложения перезагрузки занимает порядка минуты. Думаю, если у вас есть время на перезагрузку, время подождать, пока оно установится у вас найдётся. В остальном — то, что вы хотите.
Попробуйте представить n+1-мерное пространство над нащим, причём n+1ое измерение так же подобно времени (t2). Если наше пространство-время — снимок при константном t2 — то, как вариант — бесследное исчезновение вселенное — это исчезновение при смещении по t2.
А так интересен тот момент, что через загрузчик, подписанный сертификатом mail.ru, можно загрузить любое ПО, что, как выяснилось, позволяет его использовать как дропер. А это компрометация сертификата и такой сертификат надо отзывать.