Pull to refresh
  • by relevance
  • by date
  • by rating

Идеальной работы не существует

Lumber room
Конечно же, самый глупый и бесполезный вопрос от HR к соискателю: «Почему Вы хотели бы работать в нашей компании?»
Считается, что тем самым проверяется лояльность пользователя соискателя к компании. Но это не так.

Почему?
Читать дальше →
Total votes 38: ↑22 and ↓16 +6
Views 1K
Comments 55

Говнокод.ру 2.0

Self Promo
Логотип
Говнокод.ру — небольшой проект, посвященный плохому коду.
 
Прошло уже порядка девяти месяцев со дня запуска первой версии говнокода и сегодня я рад представить вам новую версию, так сказать «Говнокод» 2.0!
 
 
Читать дальше →
Total votes 159: ↑134 and ↓25 +109
Views 2.2K
Comments 117

Что такое говнокод и кто такие говокодеры?

Lumber room
Так много слов про кучи говнокода и толпы говнокодеров. А я не в теме.
Не могу понять, где грань между первокурсником программистом, который пытается воплотить в жизнь свои бесконечные идеи и говнокодером?
Не могу понять, неужели никто из НЕ говнокодеров ни разу в жизни не писал код, который потом просматривал с ужасом и почему этот код он не называет говнокодом?
Total votes 54: ↑25 and ↓29 -4
Views 2.5K
Comments 42

Пользуетесь PHP на 64-х битной платформе? Значит потеряли в производительности!

Hosting


По идее, эта статья должна была выйти в блоге «Linux для всех». Однако, данная проблема не проявила себя в аналогичных тестах на python и perl, а следовательно специфично-зависимая от PHP и разрядности платформы. А так PHP у нас прежде всего связан с сайтами, то и блог соответствующий — хостинг.

Внимание! Следующий текст содержит сцены насилия фрагменты исходного кода и может нанести неисправимый урон вашему мозгу и разрушить веру в человечество linux php.
Читайте продолжение только на свой страх и риск.
Total votes 94: ↑50 and ↓44 +6
Views 1.5K
Comments 33

Assword

Delirium coding
Один из самых восхитительных примеров кода, который я когда-либо встречал.
Как сказано в комментарии, этот код пытается найти в строке подстроку «Nothing», «Successful», «Password» или «Failed», причём регистр первой буквы неважен.

protected void parseSummaryLines()
{
   ...

   // NOTE: First letters are ommited in order to
   // support capitalized words as well
   String RESULT_GOOD_TEXT_1 = "othing"; // Nothing
   String RESULT_GOOD_TEXT_2 = "uccessful"; // Successful
   String RESULT_BAD_TEXT_1 = "assword"; // Password
   String RESULT_BAD_TEXT_2 = "failed"; // Failed

   ...
}


Можно относиться к нему по-разному. С одной стороны, можно усмотреть в этом говнокод. С другой стороны, это простое и лаконичное решение, которое вполне справляется с поставленной задачей.

Но в любом случае, получившееся в результате «Жопослово» — это шедевр…
Total votes 38: ↑21 and ↓17 +4
Views 1.4K
Comments 22

По колено в г… коде

Delirium coding
по колено в Си++
Я по роду своей деятельности много и часто медитирую над разнообразнейшим C++ кодом. И, как говорится, у меня накопилось. Не могу больше нести это в себе. Извините, сейчас и с вами поделюсь.

Читать дальше →
Total votes 183: ↑131 and ↓52 +79
Views 8.9K
Comments 165

Говнокод: врага надо знать в лицо

Delirium coding


Все примерно представляют, что такое говнокод. На этом замечательном сайте собрана целая коллекция.

Что делает код говнокодом — никто точно не знает. Точного определения нет. Часто то, что одни считают очевидным говнокодом, другим кажется лаконичным и эффективным решением.

Примеры


Примеры говнокода варьируются от избыточных до откровенного хардкода. Самые любмые примеры — такие, говнокодистость которых очевидна для всех:
Boolean b = new Boolean( is_admin );
if( b.toString().length() == 4 ) {
   // something...
}
// something


Но знаете, что я скажу? Осуждать говнокод легко, но написать его не так-то легко!
Не верите? Давайте попробуем!

UPD Ниже добавлен анализ поступивших решений.

Вот простое задание
Total votes 93: ↑73 and ↓20 +53
Views 47K
Comments 290

Практический опыт использования Blynk для датчика СО2. Часть 1

Smart House DIY
Всем привет. Это еще одна статья из разряда ESP8266 + Blynk = . Прошу не воспринимать как рекламу, а только как дань уважения разработчикам платформы Blynk и личный опыт, который может быть полезен кому то еще, кроме меня.

Начало


Идея проекта родилась несколько лет назад, когда в порыве DYI-энтузиазма на Ali был куплен датчик качества воздуха MQ-135. По спецификации этот датчик реагирует на наличие в воздухе таких веществ как: NH3, NOx, спирт, бензин, дым и CO2 и выдает свою абстрактную оценку качества воздуха на аналоговом выходе [да я знаю, что существуют подстроечные резисторы и способы калибровки, но как то это слишком сложно].

Испытания показали, что на всякие вредные и «вонючие» соединения датчик реагирует отлично, показывая достаточно резкое изменение выходного уровня. Хуже дело обстояло с определением невидимого врага, а именно углекислого газа СО2. Про вред и очевидную повсеместность этого диоксида сказано немало, повторяться не будем.

Читать дальше →
Total votes 25: ↑23 and ↓2 +21
Views 50K
Comments 22

Разработчики Intel тоже говнокодят

PVS-Studio corporate blog
PVS-Studio vs IEC SDK
В последнее время, рассказывая о проверке очередного проекта, я всё время повторял, что это очень качественный код и ошибок в нём практически не найдено. Примером может служить анализ таких проектов, как Apache, MySQL, Chromium. Почему мы выбираем такие приложения, я думаю понятно. Про них всех знают и никому не интересно, какие ужасы можно найти в дипломной работе студента Васи. Однако иногда мы поверяем и те проекты, которые просто случайно попали под руку. Некоторые такие проекты оставляют тяжёлые впечатления в моей тонкой и ранимой душе. В этот раз мы проверили Intel® Energy Checker SDK (IEC SDK).
Читать дальше →
Total votes 112: ↑87 and ↓25 +62
Views 2.3K
Comments 116

Год измеряем влажность почвы на ESP8266 и двух батарейках. Часть 2

Smart House DIY
Всем привет! В этой статье хочется рассказать, как заставить датчик влажности почвы проработать год на двух батарейках (ААА) и при этом сделать все более менее правильно. Первая статья — про выбор среды разработки (Arduino IDE) и платформу Blynk.


Картинка домашнего дуба для привлечения внимания

Садовод любитель


Для начала небольшое признание — я не программист и я домашний садовод. И то и другое это мое хобби. У меня на подоконниках сделаны полки, с специальной сине-красной светодиодной подсветкой, под которой растения должны расти с бОльшим энтузиазмом. Не вдаваясь в детали фотосинтеза и прочую ботанику, можно сказать, что светодиодная подсветка создала одну проблему, решая которую и родилось устройство, которому посвящена эта статья.

Спойлер
Светодиоды греются, земля сохнет, поливаю я кое как.
Читать дальше →
Total votes 51: ↑49 and ↓2 +47
Views 37K
Comments 174

Зомби-ферма

IT career
Здравствуйте, меня зовут Сергей и я боюсь зомби.

Мне был 21 год, когда я устроился на свою первую работу. Предствьте себе, свой первый проект я написал на classic ASP. Это было классическое произведение быдлокодера:

— бизнес-логика? нет, не слышал
— в базе не было индексов
— ID генерился рандомно и проверялся селектом в таблице на уникальность
— монстроидальные ASP файлы, HTML вперемешку с VB Script

Читать дальше →
Total votes 178: ↑130 and ↓48 +82
Views 1.7K
Comments 98

Краткий обзор качества коммерческой CMS на Perl

Perl *
Sandbox
В процессе занятия фрилансом мне периодически попадаются на препарирование сайты написанные на Perl. Глядя на код, я понимаю, откуда появилась дурная слава Perl в области Web разработки. Но не будем углубляться в холивар.
Вчера мне в руки попал движок X1-forge. Надо особо отметить что он активно продаётся и весьма нескромно расхваливается на сайте. Итак, что же с ним не так?
Читать дальше →
Total votes 53: ↑46 and ↓7 +39
Views 4.6K
Comments 60

Школьные забавы или мультиплеерная игра без сокетов и p2p

Abnormal programming *Game development *
Sandbox
Здравствуйте, дорогие Хабражители!

Сразу хочу оговориться, что эта статья создана just for fun, и не претендует на какое-либо обучающее свойство.

В нашей школе информатику преподают с 6 класса, но ничему практически не научили, ибо мы так дружно и старательно форматировали тексты в Word'e, что закончили его изучать только к 9 классу. Было несколько уныло, и я занялся программированием. Помню, как копипастил «Hello, World!» из книжки по С++, потом первый калькулятор, потом еще калькулятор, затем познал ActionScript, сделал пару жутких игр, ну а потом обленился.
После очередного скучного задания по Excel, мы с другом решили воплотить нашу давнюю идею — сделать мультиплеерную игру. На школьных компьютерах стоял еще Macromedia Flash 8, Borland Delphi 7, и в другом конце класса на мониторе блестела эмблема Windows Server 2003.
Читать дальше →
Total votes 69: ↑48 and ↓21 +27
Views 3.6K
Comments 40

Я не понимаю, как они сделали это

Abnormal programming *
Два месяца назад я обзавелся смартфоном на Windows Phone 7. Ещё месяц я героически боролся с его медиаплеером, пытаясь заставить его тупо проиграть файлы в папке подряд. Наконец, я нашел устраивавшее меня решение — создавал из файлов в папке плейлист и заливал через Zune.

Тут-то и началось веселье. Zune автоматически конвертирует плейлисты *.m3u в собственный формат *.zpl. Казалось бы, что может быть проще, чем перевести вот такой формат:
#EXTINF:677,32 Variations On An Original Theme In C Minor, WoO 80.flac
D:\Music\New\To listen\Beethoven\Sonatas\32 Variations\Annie Fischer\32 Variations On An Original Theme In C Minor, WoO 80.flac.mp3
#EXTINF:220,1. Allegro.ape
D:\Music\New\To listen\Beethoven\Sonatas\No. 01\Annie Fischer\1. Allegro.ape.mp3
#EXTINF:317,2. Adagio.ape
D:\Music\New\To listen\Beethoven\Sonatas\No. 01\Annie Fischer\2. Adagio.ape.mp3

В вот такой:
      <media src="D:\Music\New\To listen\Beethoven\Sonatas\32 Variations\Annie Fischer\32 Variations On An Original Theme In C Minor, WoO 80.flac.mp3" albumTitle="Неизвестный альбом (23.03.2012 11:48)" albumArtist="Неизвестный исполнитель" trackTitle="32 Variations On An Original Theme In C Minor, WoO 80.flac" trackArtist="Неизвестный исполнитель" duration="677856" />
      <media src="D:\Music\New\To listen\Beethoven\Sonatas\No. 01\Annie Fischer\1. Allegro.ape.mp3" albumTitle="Неизвестный альбом (23.03.2012 11:48)" albumArtist="Неизвестный исполнитель" trackTitle="1. Allegro.ape" trackArtist="Неизвестный исполнитель" duration="220582" />
      <media src="D:\Music\New\To listen\Beethoven\Sonatas\No. 01\Annie Fischer\2. Adagio.ape.mp3" albumTitle="Неизвестный альбом (23.03.2012 11:48)" albumArtist="Неизвестный исполнитель" trackTitle="2. Adagio.ape" trackArtist="Неизвестный исполнитель" duration="317105" />


Но нет! Эта задача оказалась не под силу майкрософтовским программистам.
Читать дальше →
Total votes 223: ↑161 and ↓62 +99
Views 2.1K
Comments 178

Почему нельзя превращать прототип в итоговую программу

Programming *Perfect code *
Всем привет! Сколько уже статей было про говнокод, но я считаю, их поток нельзя сокращать, потому как поток говнокода только увеличивается.
Внимание: статья полна субъективизма и сюрреализма. Автор не претендует на истину в последней инстанции
Очень часто, создавая новое приложение, программу, веб-сайт, мы сначала экспериментируем, а затем создаем из наших экспериментов конечный продукт.
Но дайте ответ на следующие вопросы не задумываясь:
  1. сколько раз, получая исходники от других разработчиков, вы находили их крайне непривлекательными?
  2. сколько раз, передавая исходники другим разработчикам вам было стыдно за свой код?

Мои ответы: постоянно, довольно часто.
Почему так происходит?


Давайте попробуем разобраться
Total votes 123: ↑71 and ↓52 +19
Views 43K
Comments 147

Как вырастить программу из прототипа

Programming *
Каждую неделю на профильных блогах мы читаем как нужно использовать методологию X и фреймворк Y, чтобы написать хорошо спроектированный и легко поддерживаемый софт. Нам постоянно говорят, что, мол, говнокод — это плохо, рефакторинг — наше все, дают те или иные очень важные сферические советы в вакууме. В большинстве этих статей можно встретить абстрактные философские нравоучения, например, вот это я распечатаю и повешу при входе в офис:


А что, если я скажу, что не все проекты одинаковые, и некоторые из них не то что можно, а даже нужно тщательно выращивать из прототипа? Об этом я рассказывал на конференции Unite'12, а сейчас расскажу вам.
Читать дальше →
Total votes 77: ↑68 and ↓9 +59
Views 23K
Comments 49

Грязный, чистый, устремлённый

Perfect code *

Грязный


Давайте вместе поразмыслим — что же такое чистый код, и что такое код грязный? Или, как говорят американцы – «hairy code», т.е. волосатый?

Чем чистый код отличается от грязного – или, как говорят в этих наших интернетах, от «говнокода»? Да и нужен ли он вообще, этот чистый код?


Давайте сначала разберёмся с определениями.

Мне кажется, что дать чёткого определения «чистому» коду просто невозможно. Отчасти это – как с красотой: смотришь на картину, или там скульптуру – и видишь: да, красива. Или, наоборот, уродлива.
А что же с чистым и устремлённым?
Total votes 59: ↑40 and ↓19 +21
Views 44K
Comments 72
1