КодоБред

индекс
152,70

Индусские програмисты

Говорят что программистам из Индии деньги платят за количество строчек кода которые они написали(редко обращая внимание на качество).
Вот пример одной из конструкций:
if ($x == 0) {
// Do 1…
}
elseif ($x!=0) {
// Do 2…
}
else {
//
// А вот здесь чистые деньги :)
//
}



P.S. В каждой шутке есть дуля шутки.
+98
12 сентября 2008, 10:25
6

комментарии (88)

–1
afitiskin #
старо, но вечно:
if (elem.toString.length == 4) { // true }
+1
hannimed #
.toString().
–2
afitiskin #
Yes, of course
НЛО прилетело и опубликовало эту надпись здесь
+3
svetko #
Ниразу не доводилось пользоваться индусскими программами =)
+7
pinc #
ie / win / office
–4
svetko #
к сожалению, индусские версии попользовать не удалось! =(
0
SmartBye #
Имеется ввиду написанные индусами.
–3
svetko #
не надо держать меня за дурочку.
+2
Nuru #
Госпади, вот это интелектище!
0
genk #
Офигеть, это произошло прямо при мне и не на баше, а в реале =)
Да это просто здорово!
+1
svetko #
товаресче «умнечги» и те, кто подошол потом: топик вообще сначала был в блоге «Юмор» — так што со своим сарказмом идите грызть орешки…
НЛО прилетело и опубликовало эту надпись здесь
+5
NewStoic #
а как же виста? по-моему она именно ими и писанная :)
0
khim #
Не вся, не вся. Отдельные компоненты там очень хороши. Но в целом — да, похоже на то…
НЛО прилетело и опубликовало эту надпись здесь
+1
shadow_of_irbis #
Лучше всего в висте получился установщик шрифтов! )
+4
nooze #
Блог есть специальный, кодобред
+1
dreend5 #
Перенёс!
НЛО прилетело и опубликовало эту надпись здесь
+6
coldFlame #
cудя по качеству кода, они празднуют каждый день (:
+3
Romati #
Похоже у нас в институте много индусов :)
+35
korotkoff #
ВЫ НИЧЕГО НЕ ПОНИМАЕТЕ!!! ЭТО НА ВСЯКИЙ СЛУЧАЙ!!!
+5
Treg #
Ага, как с монеткой — если на ребро встанет...)))
+4
rgaliull #
на самом деле, зря вы так смеетесь. индусы очень похожи на нас во многом. Особенно, в плане отношения к работе. Уверен, что наши «васи» делают перекуры 5 раз в час, потому что «восьмерки» и так получат в журнал.
П.С. кто не знает, на заводах мастер в конце дня в журнал ставит количество отработанных часов.
–5
onthefly #
В офисах тоже ставят восьмёрки, только другие люди. Требования ТК едины для всех
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
+2
ElComandante #
работал я как-то с индусами, теперь за киллометр их обхожу :)
–5
rgaliull #
я тоже работал. особенно запомнилось: indian people — english speaking people. и это постоянно когда на них ругаешься что ничерта не понимают :)
+2
ElComandante #
километр*
/пошел учить русский язык/
+3
bishop3000 #
Я работаю с индусом. Он у нас scrum master. Отличный парень (хе-хе, всего 36 лет) и неплохой программист. Звезд с неба не хватает, но такой код никогда не напишет.
Так что индус индусу рознь.
+3
mikolka #
Все верно, рознь…
Среди наших тоже встречаются уникальные товарищи.
Да и менталитет у нас другой: наши люди весьма и весьма дотошны в том, чтобы получать новые знания, исследовать и самообучаться. Это уникальные свойства, которые и отличают наших инженеров от зарубежных аналогов.
+4
bishop3000 #
Опять неверно.
Тяга к новым знаниям — это свойство ЛЮБОГО программиста, независимо от национальности. Это, можно сказать, наша программистская отличительная черта.
Все программисты любят новые технологии и не особо любят писать скучный код :)
–5
mikolka #
Тогда и я поправлю:
я про программистов не говорил =)
Но согласен про тягу как отличительную черту программистов. Без этого никак!
0
Benderlidze #
ой ли, порой сами пишем более бредовый код, обидно что индус стало нарицательным(за индусов),
я предпочту такой «стабильный» индуский код, чем чей либо другой, но глюкавый
вот.

(пипец дожился… даже за комент не могу голосовать)
–1
Yeah #
Однако, глупость вы сморозили…
Не должно быть ни «стабильного» индусского кода, ни глюкавого нормального. Должен быть стабильный нормальный код.
0
juks #
Программист из Индии — индийский программист. Индус — последователь индуизма.

Ваши познания в программировании столь же глубоки?
+1
Yeah #
Индусский код — жаргонный термин, потому допускает подобную неточность.
0
juks #
Как пишут в толковых словарях «Простонародное выражение»
+1
beeruser #
А вы, стало быть, голубых кровей?
–15
zloy_alu #
А вы, стало быть, голубых?
НЛО прилетело и опубликовало эту надпись здесь
+2
Old_Chroft #
*Индус — последователь индуизма*
Ага тоже хотел об этом написать :) Хотя если вывернуть «шиворот-на-выворот» получается… «Индус» — это тот, кому вера не позволяет писать хороший код :)
–5
juks #
Ну, остаётся только пойти и уточнить, насколько индуизм распространён в Индии.
–5
man4j #
Истинные индусы пишут так:

if ($x == 0)
{
// Do 1…
}
else
{
if ($x!=0)
{
// Do 2…
}
}

хм… индонотация…
+6
realfreeman #
Применимо в SQL данный «алгоритм» хоть и кривой, но тем не менее имеет право быть — обработка null значений.
–5
lyxsus #
в последний else оно не попадет никогда.
+1
realfreeman #
Да? А может все-таки попадет?
SQL> set serveroutput on;
SQL> 
SQL> declare
  2    i integer;
  3  begin
  4    i:= null;
  5    if (i = 0) then
  6    dbms_output.put_line(0);
  7    elsif i != 0
  8    then dbms_output.put_line('!=0');
  9    else
 10     dbms_output.put_line('null');
 11    end if;
 12  end;
 13  /

null

PL/SQL procedure successfully completed

SQL> 

Oracle pl/sql
+1
lyxsus #
Нет. Прекрасно, что вы знаете PL, но wft в посте написан не на нем. В последний else оно не попадет.
+1
realfreeman #
Применимо в SQL
Вот поэтому я это и написал. Да и не во всех ЯП null/nil значения обрабатываются как 0.
Мой комментарий только это и хотел сказать.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
0
realfreeman #
Нет, не так.
И вообще любое сравнение с null дает false. Null — это ведь не значение, а отсутствие как таковое. Как можно сравнить например число с его отсутствием? :) Проверка на null — is null. А вообще я бы вам посоветовал тратить хотя бы 1-2 минуты на поиск информации, а не задавать такие вопросы ;)
НЛО прилетело и опубликовало эту надпись здесь
0
megatron #
Индусские кодеры, индусские кодеры. А я вот работал и QA из индии. Лучше бы я работал с программерами…
–3
thebird #
if ($x == 1) {
// Do 1…
}
if ($x == 2) {
// Do 2…
}
if ($x == 3) {
// Do 3…
}
if ($x == 4) {
// Do 4…
}
if ($x == 5) {
// Do 5…
}
+3
Yeah #
Это китайский код. Не путайте.

Kитайский код – стиль написания программного обеспечения, нарушающий принцип НПС («Не Повторяй Себя»). Китайский подход к программированию требует эксплицитного отказа от циклов, локальных переменных, любых процедур и условных выражений, а так же использования технологии cut-and-paste чуть менее, чем везде.

Возьмем, допустим, следующий кусочек программы на C:

int arr[10];
int i;
for (i = 0; i < 10; i++) {
  arr[i] = 0;
}


Типичный программист в китайском стиле напишет это так:

int a0 = 0;
int a1 = 0;
int a2 = 0;
int a3 = 0;
int a4 = 0;
int a5 = 0;
int a6 = 0;
int a7 = 0;
int a8 = 0;


Источник
–1
thebird #
лучше б мы как нибудь вывели русский стиль программирования.
0
propovednik #
Верней всего в оригинале было === вместо ==
+7
Yeah #
Цитата дня:
Пишите свои программы так, как будто человек, который их будет поддерживать, является серийным маньяком-убийцей и знает ваш домашний адрес.
(источник неизвестен)
0
SkaTT #
Распечатал для программеров ))) повешу им на стену. в понедельник удивятся )
+5
fan_bel #
Автор — Стив Макконнелл «Совершенный код»

В оригинале было немного по другому:
«Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете»
–3
skel2007 #
Эх… День программиста — не повод постить бояны (этот и про 10 типов людей). ИМХО
–5
VovixLDR #
Индусские программисты отмечают свой профессиональный праздник 31 сентября:)
+1
gaidar #
Самый гениальный фрагмент кода, который я видел:

if( true == -1)
{
if( obj.value == true)
{
/// Do something
}
}
else
{
if( obj.value == true)
{
///Do something
}
}
0
Adelf #
Недавно видел статью, где рекомендовали на время комментить длинные куски кода конструкцией типа if(0==1){… }. Преимущества — если в этом коде много блочных комментов — проще через if. Тут слегка не так, но близко. Возможно тут просто заглушка сделана на время.
+1
versus #
И в чем бред данного кода ??
Исходя из переменной $x это похапе, а если в момент проверки $x неоперделена, тогда что вернуть прикажете ??

Перепили что ли на день прогера ???
0
egorinsk #
Если переменная неопределена — бейте кодера))
Лучше писать if ($x)… и не париться.
0
kokoito #
Просто, я думаю, надо понять, что на Хабре сидят люди которые кроме ПХП или максимум Руби больше ни во что не верят и не понимают что вот этот пример смешной:

bool x;
//… какой-то код

if(x) /* do something */;
else if(! x) /* do something else */;
else /* зарабатывай деньги на строках кода */;

А приведенный пример в посте — нет, потому что НЕИЗВЕСТЕН КОНТЕКСТ, господа быдлокодеры-перспективные-очередные-стартапшики.

А Вам, versus, спасибо за единственный здравый взгляд на вещи. :)

0
developer #
ну про быдло кодеров вы поспешили, читайте мой ответ versus'у ниже.
… очень плохо что сообщество на хабре пытается других как-то оскарбить…
0
Honeyman #
А если переменная не определена, то проверять надо не её равенство-неравенство, а её существование. ДО сравнения её значения с возможными. В PHP, вроде бы, была функция isset().

Впрочем, я сам неоднократно писал, на языке чуточку более строгому к значениям переменных, подобный код. Например, для переменной a1 типа myrange, явно обозначенной как имеющая значения только либо case1, либо case2 (и никаким способом в неё других значений не запихнуть), писал следующее:
if a1 = case1 then
… первый блок кода
else if a1 = case2 then
… второй блок кода
else
… третий блок кода
endif;

Неопределённой эта переменная быть не может (язык не позволит). Тип определён как принимающий исключительно значения case1 и case2, и, для простоты, будем считать, что закастить туда избыточное значение никто не может. Зачем я написал третий блок кода :)?
0
developer #
swich case в языке программирования отсутствовал…
+1
Honeyman #
Не-а, суть не в этом. Если бы он присутствовал — я бы написал такой же блок кода, с куском «если не подпало ни под один case». Вопрос — почему же я написал третий блок кода, если первые два покрывают все определённые значения для переменной a1…
0
developer #
иногда так нагляднее
0
Honeyman #
И всё равно не то :)

На самом деле,… тот факт, что сейчас переменная a1 определена как {case1, case2}, вовсе не значит, что она так будет определена всегда. И если кто-то добавит новый вариант, то он может легко забыть проверить все вхождения этой переменной, правильно ли он там будет обрабатываться… В таком случае, оставшийся вариант тоже надо учесть — и как минимум выругаться в логи. «Хозяин, тут какая фигня пришла. Я трапнусь, а ты уж там разберись.»
0
developer #
если переменная не определена то приведение null к int даст 0, ведь язык с не строгой типизацией, еслиб там было написанно === и !== то это имелоб значение. равно в точности, не равно в точности и другое, а так ЛЮБОЙ тип может быть приведен к int и очевидно значение будет в нуле или не будет в нуле…
… очень жаль что приходится пояснять такие вещи, но лучше, наверное пояснить… а то и смех и грех…

на досуге исполните такой код что б понять на примере:
unset($x);
if ($x == 0) {
    echo " Do 1…";
}
elseif ($x!=0) {
    echo " Do 2…";
}
else {
    echo " А вот здесь чистые деньги :)";
}
0
versus #
За неимением похапе, беру ваш код на не меннее нестрогой типизацией языке Python
>>> x=None
>>> if x == 1:
… print «1»
… elif x==0:
… print «0»
… else:
… print «money»


money

Явное лучше неявного, простое лучше сложного, сложное лучше сверхсложного…

0
developer #
не =) питон со своими особенностями, PHP со своими, ну проверьте, блин — лучше чем спорить.
0
versus #
Да причем тут пхп или питон или перл, язык вторичное… главное логика работы программы. Я не хочу знать о неявных приведениях типа ничего, кроме того такое знание не только помогает но и делает только хуже. Так как может быть мне нужен такой код
unset($x);
if ($x == 0) {
echo « Do 1…»;
}
elseif ($x==1) {
echo « Do 2…»;
}
elseif ($x==null) {
echo « Do 2…»;
}
else {
echo « А вот здесь чистые деньги :)»;
}

И что тогда мне делать, ругать разароб пыхпе что они мне переменную явно преобразовали когда я их не просил ?????
–1
egorinsk #
Так это индусы придумали писать скобки {} на отдельных строках и вставлять еще пустые строки между ними!

function f()
{
$a=line1();

$b = line2();
}

p.s Как на этом сайте сохранять пробелы слева?
0
developer #
использовать тег <pre>

или   если вы индус =)
0
developer #
ой я опечалася «&nbsр;»
0
IDDQD #
славянам не понять индусской философии :)
0
borv #
У нас был в ходу термин «Джа#», где-то даже валялась подборка избранного. Классический пример — как узнать дату завтрашнего дня (шутка такая):

public Calendar getTomorrow() {
    Thread.sleep(1000*60*60*24);
    return Calendar.getInstance();
}
0
developer #
*LOL*
0
thebird #
А вот это, ребята, называется истерикой программиста —

function be5(num:Number):void{
num=5;
num=5;
num=5;
num=5;
num=5;
num=5;
}

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.