Сегодня в разговоре всплыла одна старая история конца XX века, которой я решил поделиться. Благодаря капитану Врунгелю мы знаем, что как вы яхту назовете, так она и поплывет. А справедливо ли это по отношению к программам и скриптам?
В некой компании Z жила-была биллинговая система. Функциональность биллинговой системы была велика, но все-таки имела свои границы. Кроме того, разрабатывали ее люди, далекие от украинских реалий в области финансового и бухгалтерского учета, и некоторые жизненно важные вещи не были реализованы в системе вообще.
С течением времени система обросла множеством узкоспецифичных доделок - частично сделанных поставщиком, частично - силами сотрудников компании Z. Вместо сердца биллинговой системы был отнюдь не пламенный мотор, а БД Oracle, поэтому большинство доделок имели вид скриптов на SQL и PL/SQL или хранимых процедур. Поставщик был не в восторге от того, что в базе делаются какие-то изменения "по живому", но в конце-концов смирился, так как не всегда успевал выкатывать красивые решения в сроки, которые устраивали бы компанию Z.
В один прекрасный момент встал ребром вопрос о том, а не пора ли обновить версию биллинговой системы? По всему получалось, что пора. Представители поставщика приехали оценить обстановку на месте и сказали: "Опа! А в новой версии в структуре базы многое будет по-другому. И похоже, что большая часть скриптиков от этого скуксится. Надо бы делать анализ ...". Ну, надо - значит надо. Представителям поставщика были выданы все скриптики и процедурки и они убрались восвояси делать анализ.
Не прошло и пол-года, как производитель выдал на-гора анализ существующего положения. Все скриптики были поделены на группы: "не нужны в новой системе; нужны с такими-то модификациями; код понятен, но непонятно, что делает скрипт; вообще нифига не понятно". В последнюю группу попали буквально три скрипта, и один из них был снабжен отдельным комментарием: "Обычно мы могли догадаться о функциональности скрипта по его названию, но файл hh.sql поставил нас в тупик. Мы понимаем, что это аббревиатура, но - от каких слов? По коду видно, что вы что-то делаете с суммами счета, но что и зачем - непонятно. Просвятите нас."
Человек, к которому попало это письмо с требованием "разобраться", был в компании Z новичком (назовем его "Н"). Он пошел к разработчикам спрашивать о том, что делает скрипт "ха-ха эс-кью-эл", но натолкнулся на стену непонимания. Разработчики утверждали, что скрипта с именем "ха-ха" никто не писал, что его кто-то разыграл, и - если что - скриптов "гы-гы", "бугага" и "lol" они тоже не писали ...
На шум пришел старый и опытный сотрудник, который выслушал Н и назидательно сказал: "во-первых, в системе Unix имена файлов пишутся с учетом регистра. Во-вторых, определенные буквы латинского и русского алфавита имеют одинаковый вид. Именно поэтому какой-то шутник в незапамятные времена назвал скрипт, который считает корректировки Налоговых Накладных, вот так:"HH.sql". Иди, пиши ответ поставщику."
В некой компании Z жила-была биллинговая система. Функциональность биллинговой системы была велика, но все-таки имела свои границы. Кроме того, разрабатывали ее люди, далекие от украинских реалий в области финансового и бухгалтерского учета, и некоторые жизненно важные вещи не были реализованы в системе вообще.
С течением времени система обросла множеством узкоспецифичных доделок - частично сделанных поставщиком, частично - силами сотрудников компании Z. Вместо сердца биллинговой системы был отнюдь не пламенный мотор, а БД Oracle, поэтому большинство доделок имели вид скриптов на SQL и PL/SQL или хранимых процедур. Поставщик был не в восторге от того, что в базе делаются какие-то изменения "по живому", но в конце-концов смирился, так как не всегда успевал выкатывать красивые решения в сроки, которые устраивали бы компанию Z.
В один прекрасный момент встал ребром вопрос о том, а не пора ли обновить версию биллинговой системы? По всему получалось, что пора. Представители поставщика приехали оценить обстановку на месте и сказали: "Опа! А в новой версии в структуре базы многое будет по-другому. И похоже, что большая часть скриптиков от этого скуксится. Надо бы делать анализ ...". Ну, надо - значит надо. Представителям поставщика были выданы все скриптики и процедурки и они убрались восвояси делать анализ.
Не прошло и пол-года, как производитель выдал на-гора анализ существующего положения. Все скриптики были поделены на группы: "не нужны в новой системе; нужны с такими-то модификациями; код понятен, но непонятно, что делает скрипт; вообще нифига не понятно". В последнюю группу попали буквально три скрипта, и один из них был снабжен отдельным комментарием: "Обычно мы могли догадаться о функциональности скрипта по его названию, но файл hh.sql поставил нас в тупик. Мы понимаем, что это аббревиатура, но - от каких слов? По коду видно, что вы что-то делаете с суммами счета, но что и зачем - непонятно. Просвятите нас."
Человек, к которому попало это письмо с требованием "разобраться", был в компании Z новичком (назовем его "Н"). Он пошел к разработчикам спрашивать о том, что делает скрипт "ха-ха эс-кью-эл", но натолкнулся на стену непонимания. Разработчики утверждали, что скрипта с именем "ха-ха" никто не писал, что его кто-то разыграл, и - если что - скриптов "гы-гы", "бугага" и "lol" они тоже не писали ...
На шум пришел старый и опытный сотрудник, который выслушал Н и назидательно сказал: "во-первых, в системе Unix имена файлов пишутся с учетом регистра. Во-вторых, определенные буквы латинского и русского алфавита имеют одинаковый вид. Именно поэтому какой-то шутник в незапамятные времена назвал скрипт, который считает корректировки Налоговых Накладных, вот так:"HH.sql". Иди, пиши ответ поставщику."
(no subject)
Date: 2008-06-06 06:09 pm (UTC)(no subject)
Date: 2008-06-06 06:47 pm (UTC)ет(c) в качестве ответа :)
(no subject)
Date: 2008-06-06 08:13 pm (UTC)(no subject)
Date: 2008-06-06 08:25 pm (UTC)(no subject)
Date: 2008-06-06 09:13 pm (UTC)"Е ЧАЙИК!" ;-)
(no subject)
Date: 2008-06-07 02:40 am (UTC)Молодой фидошник: ет.
(no subject)
Date: 2008-06-07 04:17 am (UTC)Блин, уже даже не помню как назывался софт для хождения по бибиэскам ((
(no subject)
Date: 2008-06-07 05:16 am (UTC)Олдтаймеры, присоединяйтесь - ;) http://lurkmore.ru/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A4%D0%B8%D0%B4%D0%BE
(no subject)
Date: 2008-06-07 05:57 am (UTC)(no subject)
Date: 2008-06-07 05:35 pm (UTC)ЗЫ 2:463/218
(no subject)
Date: 2008-06-07 07:43 pm (UTC)Я - 2:5053/7.11- ранее 2:5053/11 и 2:5053/0 :)
(no subject)
Date: 2008-06-08 06:31 pm (UTC)Одна сцена из жизни. Мой товарищ видит трамвай с бортовым номером 5030, и в задумчивости произносит: "Странно, откуда в Москве питерский трамвай?"
(no subject)
Date: 2008-06-09 02:09 am (UTC)(no subject)
Date: 2008-06-23 01:06 pm (UTC)(no subject)
Date: 2008-06-07 10:51 am (UTC)(no subject)
Date: 2008-06-07 10:54 am (UTC)2:5070/130.23 :)
(no subject)
Date: 2008-06-07 11:15 am (UTC)(no subject)
Date: 2008-10-21 11:37 pm (UTC)А помнишь написание редактора сценариев ролевой игры в конце ХХ века? :)
(no subject)
Date: 2008-06-06 06:48 pm (UTC)На одной из предыдущих работ (не биллинг!) была необходимость собирать - разбирать - сортировать большое количество маленьких текстовых файликов. Операторы просто физически не всегда успевали это делать, тем более что за морду для ковыряния этих файликов мне периодически хотелось казнить Неизвестного Программиста.
На рекксе были написаны три скрипта по имени zemphira, fetyaska и sauvignon ;)
(no subject)
Date: 2008-06-06 08:02 pm (UTC)(no subject)
Date: 2008-06-06 09:18 pm (UTC)Как минимум, в Киевстаре стоит (или стоял?).
А вот
(no subject)
Date: 2008-06-06 11:35 pm (UTC)В Киевстаре да, стоит.
(no subject)
Date: 2008-06-07 05:11 am (UTC)(no subject)
Date: 2008-06-07 05:33 pm (UTC)Операторы часто апгрейдятся только когда "прижмет". А у поставщика - product roadmap, развитие и все такое, и новые версии надо выпускать хотя бы раз в год, а то "пацаны засмеют" ...
(no subject)
Date: 2008-06-07 10:50 am (UTC)(no subject)
Date: 2008-06-16 01:11 am (UTC)