Истории с тегом: индийский код

Всего историй: 192

4967

Парент парента парентом об парент

Я познакомилась с настоящим индусом. Правда-правда. Этот человек:

— пишет код в кадрах кадров кадров символов — парент парента парентом об парент;

— инициализирует переменные не там, где они используются (используются в первом, инициализирутся в 20-м кадре и на другом слое, но это фигня — работает же), называет максимум в три буквы (и функции тоже);

— никогда ничего не типизирует — зачем?

— знает кучу багов флеш-плеера, которые не встречаются обычным людям, и упрямо делает так, чтобы в проекте на них опять наткнуться (как?);

— при именовании придерживается своей логики: инстансы клипов — маленькими буквами, функции и всё остальное — большими. Констант не встречала — интересно, как он именует их?

— не форматирует код в принципе — а зачем? Между строчками может быть от одного до 15 переводов строки;

— может продублировать один и тот же код пару-тройку раз, в том числе и рядышком;

— делает вложенные функции (не забываем про отсутствие форматирования): три-четыре уровня вложенности найти в коде нетрудно.

При этом парень обладает абсолютной памятью, поэтому у него всё работает... до поры до времени. После того, как я правила его код, чувствую себя прошедшей посвящение в настоящие программисты.

4939

Индус: пробная версия

Разбираем исходники программной системы для делопроизводства: надо перевести на русский и подправить кое-где логику под местные реалии. Не будем удаляться в частности, но код натурально индийский.

Разбирали — ругались, тем более что поддержка от разработчиков по емейлу была отвратительной. Немного зауважали авторов после того, как обнаружили, что они всё-таки способны к самокритике. Один из методов, посвящённый промышленному дизайну, был назван «Indus_Design».

4932

Подайте сюда чистый канал

Пятница. Полшестого пополудни. Магазин спускает на сервис ноутбук: розовенький Dell. Душа чует неладное. Просят накатать ось по-быстрому, до шести вечера. Ладно, берём флешку с «семёркой», за восемь минут ставим — а потом начинается квест.

Идём Эксплорером на сайт Dell за драйверами — он отважно предлагает качать тамошним даунлоуд-менеджером: оно, мол, оптимальнее. Ладно, качаем. Бравый менеджер говорит, что у нас, оказывается, нету интернета. Логично: мы через прокси работаем.

Качаем Файрфокс: канал широкий, всё тянется быстро. Подкидываем ссылку — наблюдаем ту же картину. Грустно.

Тянем Оперу. Она честно начинает пытаться что-то делать, в самый ответственный момент пишет, что не может соединиться с FTP-сервером Dell, но отдаёт директ-линк на искомый драйвер, который мы тотчас же скармливаем Огнелису.

Ребята из техподдержки Dell, если вы читаете это, вы знаете, что делать с разработчиками даунлоуд-менеджера.

4924

Фантастик-копипастик

C удовольствием читаю IT happens, но заметил пару характерных тенденций. С одной стороны, часто жалуются на монструозный индусский код и блондинистых быдлокодеров; с другой стороны, не менее часто хвастаются так называемым студенческим товариществом: написать программки или раздать исходники целой группе. Неужели это одни и те же люди? Неужели никому не приходит в голову, что первое — следствие второго?

4902

Не плачь, малыш, возьми пустышку

Руковожу я маленькой, но гордой фирмой: занимаемся поставкой за рубеж всякого веб-контента. Сдаём один крупный проект, одна из частей которого — модуль интеграции с CMS. Вроде всё работает, но постоянно висит ошибка, что мы что-то в стилях намудрили. Четыре дня сидели, ломали голову, лопатили сотни страниц кода — ничего. Программисты уже решили от проекта отказаться, у клиента истерика.

Тут меня осенила идея. Глупая, безумная — но терять уже нечего. Дали мы системе все файлы, которые она просила, но пустые. Шестнадцать файлов подряд. Заработало! Проект сдали, деньги получили, но осадок остался: кому-то потом это всё после нас ковырять.

4896

Легенда о двойной уникальности

Пишу скрипт на PHP. Почему-то на сервере не работает array_unique() — не удаляет дубликаты из массива. Локально — да, на сервере — не до конца. Курю мануалы, форумы — не помогает. В каком-то безысходном порыве решаю вставить в код второй array_unique(). Чудо: дубликаты удалены! Смотрю на конструкцию:

$arr = array_unique($arr);

$arr = array_unique($arr);

...и добавляю комментарий:

// कोड में टिप्पणी — यह है कि उसने क्या कहा डिबगिंग के दौरान प्रोग्रामर

Ну, чтобы легенда не умирала.

4883

Кришна с нами

И вы удивляетесь, что индийский код работает? Не надо. Причина проста: они его благословляют.

void h(ne) {return ra/rn};

//-----------------------

//Pray all your gods to

//make this work and

//be careful with

//debugging

//Abdul Rahman Krishnaswami

//------------------------

Если Кришна с нами, то и успех будет всегда. Меняем бубны на чётки — и в бой!

4813

Тяжело в учении, тяжело в бою

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

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

* * *

Переменные могут состоять либо из одной буквы, либо из одной буквы и цифры. «ts» или «t00» — ошибка синтаксиса.

* * *

Есть вот такие строки кода:

t1 = ET1/10 − t0;

output(#0, t1);

Выполняются они по факту в такой последовательности:

t1 = ET1/10;

output(#0, t1);

t1 = t1 − t0;

output(#0, t1);

* * *

ET1/10 ≠ ET1*0,1. После обнаружения этого бага я вышел из аудитории и побился об стены. Программа вела себя по-разному: то замедляла время в десять раз, то считала время как дробную величину, а не целую.

* * *

Явно заданное в коде обнуление не происходит? Надо перезапустить программу дважды. В первый раз странным образом сбрасывается пара параметров, после второго включения — все остальные.

* * *

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

4782

Не смотрите под капот

В далёком девятом классе нас в школе начинали учить программированию. Дабы не перегружать нежный детский мозг, для этой цели выбрали Бейсик. Так вот, на каникулах по случаю завершения девятого класса сижу я и кодю что-то невнятное и лишённое всякой практической пользы. Заходит мама (кадровик по профессии) и предлагает доказать полезность моих занятий, а именно написать программу, которая бы помогала ей считать стаж. Через пару часов работы чудо появилось на свет. Код был дико кривым — у любого индуса бы глаза на лоб от такого полезли, — но считала программа правильно, и своё мороженое в награду я получил.

Прошло несколько лет. На пятом курсе на выходные я вернулся домой. Разговор с родителями зашёл о программировании, и мама сообщила мне сногсшибательную новость: мою кривую и косую программу, оказывается, используют кадровики почти всех школ города (мама работает в РОО), и её даже показывают на каких-то внутренних курсах для айтишников. Почему её полюбили кадровики? Она не требовала установки, следовательно, легко переносилась с компа на комп даже самыми тугими пользователями; имела простой и понятный интерфейс, разрабатывавшийся непосредственно при участии мамы-кадровика; считала всё быстро и правильно (не знаю, как я умудрился в том возрасте нигде не накосячить).

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

4736

Два раза проверь, один отрежь

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

Если ФлагЗаписи = 1 Тогда

[...]

// На всякий случай...

Если ФлагЗаписи = 1 Тогда

[...]

КонецЕсли;

КонецЕсли;

Коллеги, работайте на свежую голову.