elseiver: (Default)
elseiver ([personal profile] elseiver) wrote2006-10-30 02:49 pm

Про офшорные дела

Как настоящий офшорный програмист-аусорсер попробовал сегодня индийского пива. Kingfisher Premium Lager beer. Вот что пишут на этикетке:
Kingfisher is the World's No.1 selling Indian Lager and has won many International awards for it's quiality. Kingfisher is brewed under the technical supervision of the United Breweries Limited, BANGALORE, India.
Вот так. Бангалор. Выпью я этого пивка, и буду писать код как индийцы. Не поминайте лихом!

int[] natural_numbers = new int[100];

natural_numbers[0] = 1;
natural_numbers[1] = 2;
natural_numbers[2] = 3;
natural_numbers[3] = 4;
natural_numbers[4] = 5;
natural_numbers[5] = 6;
...

Вот примерно так.

[identity profile] olga-philka.livejournal.com 2006-10-30 09:08 pm (UTC)(link)
Пример индийской гениальности, который поразил меня

if(nLength.Equals(0))
{
strHTMLBody = strHTMLBody + myCR.ToString()+myLF.ToString();
}
else
{
strHTMLBody = strHTMLBody + myCR.ToString()+myLF.ToString();
}

[identity profile] torrio.livejournal.com 2006-10-30 09:21 pm (UTC)(link)
Неплохо. Но и это не предел.
Приходилось видеть вот такое:

bool flag = false;
flag = ;

if (flag==true) //уже весело!
{

}
else
{
if (flag==false) //всё в том же стиле
{

}
else //как они навереваются сюда попасть?!?!
{

}
}

[identity profile] torrio.livejournal.com 2006-10-30 09:32 pm (UTC)(link)
Это реальный пример кода одного из проектов который нам пришлось исправлять и переделывать.
Заполнение массива без использования цикла - тоже реальность.

(Anonymous) 2006-10-30 11:42 pm (UTC)(link)
"Заполнение массива без использования цикла - тоже реальность." - I saw this often in performance critical applications. Avoiding short loops helps to prevent pipeline stalls :-P

serg14

[identity profile] torrio.livejournal.com 2006-10-31 02:46 am (UTC)(link)
Да, да, есть случаи когда это полезно. Есть, правда, мнение, что компилятор может позаботиться и о таких случаях.
Я же говорю о других (таких, например, как инициализация массива из 100 случайных чисел или типа того).

[identity profile] ice-dale.livejournal.com 2006-10-31 03:52 am (UTC)(link)
Ой... логика отдыхает.
Я полагаю If flag = true, then {...} else if flag false then {...} else if flag not boolean then {...} else if flag not flag at all then { =) }

[identity profile] olga-philka.livejournal.com 2006-10-31 04:41 am (UTC)(link)
Пишется две функции. Одна возвращает flag, который получает значение false или true в зависимости от каких-либо условий. Во второй пишется сам код, что нужно делать при false или true. Схематично типа:

private bool Function1()
{
bool flag = false;

if(условие)
{
flag = true;
}

return flag;
}

public void Function2()
{
if(!Function1())
{
действие_при_flag_false
}
действие_при_flag_true
}

[identity profile] bug0r.livejournal.com 2006-10-31 10:21 am (UTC)(link)
Все начали дружно играть в индийских программистов.
:-)

[identity profile] olga-philka.livejournal.com 2006-10-31 10:24 am (UTC)(link)
?
Я серьезно так пишу :-) И учили меня так писать. И в книжках умных так пишут.

[identity profile] vasbur.livejournal.com 2006-10-31 04:07 am (UTC)(link)
Может быть, индийским программистам зарплату считают исходя из количества строк кода?

[identity profile] torrio.livejournal.com 2006-10-31 05:59 am (UTC)(link)
Они на окладе сидят и вообще не задумываются. Вдыхают прану, чистят чакры щеточкой.

[identity profile] shadow-at-night.livejournal.com 2006-11-11 09:14 am (UTC)(link)
Ну, это известный пример. Можно написать синтетический код, в котором управление передастся в последний else.

[identity profile] bug0r.livejournal.com 2006-10-31 10:24 am (UTC)(link)
Прикололо : World's No.1

если бы не было selling Indian Lager.
BANGALORE, India.

-----
ЕКАТЕРИНБУРГ, Россия.