[bash.im] [IT Happens] [zadolba.li]

IT Happens

Клиент и саппорт. Разработчик и заказчик. Программист и программа. Вести с фронтов.
171615• • •1110987• • •321

#4980: Археологические раскопки в Древней Индии

18 декабря 2010, 09:00

рейтинг: 1582

Итак, все ругают плохо написанный код. Давайте-ка посмотрим...

Если в коде много goto, возможно, программу перетащили с Фортрана; чем их больше, тем древнее версия.

Если в названиях идентификаторов присутствуют дикие сочетания букв, разбавленные подчёркиванием, возможно, исходно это был Фортран БЭСМ-6, где позволялись русские буквы.

Если все переменные в программе глобальные — скорее всего, программа «познакомилась» с третьей версией микрософтовского Фортрана, где надо было распихать переменные по 64-килобайтным common-блокам.

Если сишный код плохо отформатирован, скорее всего, код был знаком как с Борландом (три пробела на отступ), так и с Микрософтом (одна табуляция).

Если в коде на С++ много указателей на функции, значит, изначально код был сишным.

Если системные вызовы завёрнуты во множество вложенных «обёрток», которые просто перекладывают параметры из пустого в порожнее и ничего не делают, это годовые кольца: их столько, сколько платформ сменил продукт.

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

Если всё сказанное выше замешано в крутой коктейль с кусками вменяемого кода, значит, пытались рефакторить.

Если не используются очевидные фичи, значит, в исходном фреймворке их не было.

Если встречается эмуляция RTTI и интерпретируемого кода, в предках кода было что-то типа Клиппера.

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

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

 

#4976: Админ и designer

17 декабря 2010, 12:45

рейтинг: 1064

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

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

Назначаю пользователю права администратора, переустанавливаю программу от его имени — кажется, языковый барьер исчез. Рано радовался: стоило вернуть пользователю обычные права, и снова мы увидели «File» вместо «Файл». Дизайнер остался админом, а у меня остался невысказанный вопрос: в какой стране это писали?

 

#4967: Парент парента парентом об парент

16 декабря 2010, 12:45

рейтинг: 1135

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

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

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

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

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

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

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

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

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

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

 

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

14 декабря 2010, 09:00

рейтинг: 599

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

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

 

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

13 декабря 2010, 11:00

рейтинг: 1174

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

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

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

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

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

 

#4924: Фантастик-копипастик

12 декабря 2010, 09:00

рейтинг: 1084

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

 

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

9 декабря 2010, 11:00

рейтинг: 843

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

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

 

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

8 декабря 2010, 12:45

рейтинг: 1208

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

$arr = array_unique($arr);
$arr = array_unique($arr);


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

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

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

 

#4883: Кришна с нами

7 декабря 2010, 11:00

рейтинг: 800

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

void h(ne) {return ra/rn};
//-----------------------
//Pray all your gods to
//make this work and
//be careful with
//debugging
//Abdul Rahman Krishnaswami
//------------------------


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

 
171615• • •1110987• • •321
 
новости
15 и 16 мая 2012 года в Москве состоится четвертая по счету CloudConf — профессиональная конференция для российских разработчиков, провайдеров и пользователей облачных технологий. Мероприятие проводится с 2010 года, организатор — компания Softline. Участников ждут новые выступления международных и российских докладчиков, специализированные секции, а также вручение премии Cloud Award 2012.
текст или номер истории
реклама
обратная связь
Хотите разместить рекламу?
Информация для рекламодателей.

Вопросы, предложения, что-то не так на сайте? Пишите в саппорт!
на сайте
Утверждено: 9105
Сегодня: 5
В рассмотрении: 2239
тэги
лучшие последних семи дней
10: #9173 (1482) - т__т
статистика
Рейтинг@Mail.ru