LINUX.ORG.RU
Ответ на: комментарий от generatorglukoff

> никогда в своей жизни я видел

Ты и по-русски то пишешь как индус. :)

Score-49
() автор топика

Я думал "индусокод" это как на Бейсике, с обилием "логичных" промежуточных переменных.

anonymous
()
Ответ на: комментарий от true

Ну, как ты думаешь, если в проекте есть такие ляпы, там будет нормальный уровень абстракции или куча копипаста? Там будет продумано межпоточное взаимодействие? И т.д.

Score-49
() автор топика
Ответ на: комментарий от Score-49

Да, если не очевидно, разгребать проект. Не скажу какой, но Ынтерпрайз. Не очень большой, не очень сложный, но есть, над чем подумать.

Score-49
() автор топика
Ответ на: комментарий от generatorglukoff

> никогда в своей жизни я видел индусокода… я живу в сказке или я таки сам индус?

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

ps: нет, "индусокод" - это не то, что приведено выше. то, что выше - это просто глупость и она даже не принимается к рассмотрению. собственно и к самим индусам термин "индусокод" давно уже не имеет прямого отношения и работать как попало может кто угодно [и ведь работают ссука!].

/me заебался разгребать выкрутасы fc и iscsi и особенности перехода между rhel4/5 и готов повесить всех этих засранцев.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от Score-49

>Ну, как ты думаешь, если в проекте есть такие ляпы, там будет нормальный уровень абстракции или куча копипаста? Там будет продумано межпоточное взаимодействие? И т.д.

а не проще ли быть переписать с нуля?

generatorglukoff ★★
()
Ответ на: комментарий от generatorglukoff

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

Score-49
() автор топика

Есть и более интересные примеры. НИКТО из разработчиков, работавших до меня, не читал документацию по Swing. В каждой статье, в каждом туториале, в каждом javadoc'е разработчики свинга, пишут, как эмо-школьники, прыгающими чёрно-розовыми буквами: "В EvEnT QUeUe тОЛьКо заДаЧИ пО ОтРиСовКе GUI!!!!!!!!!! ВсЕ ОсТАльНые ЗаДАчи ТолЬкО в ОтДельНых Тредах!!!!!!!!!", плачут и режут вены от того, что их никто не понимает. Чего я только не видел, вот самый интересный случай. Есть некий метод, вызывается каким-то компонентом и возвращает некий список, ктоорый нужно отрисовать. Всё в EventQueue, разумеется. Метод запрашивает список по сети, в отдельном треде, да. Но у него есть загадочный параметр boolean isDelayNeeded. Используется примерно так:

List foo(boolean isDelayNeeded)
{
Thread thread = new Thread() {...};
thread.start();
...
while(thread.isAlive)
{
thread.join(2000);
}
}

Мде. Уж не создавали бы вообще треда, чтоли...

Score-49
() автор топика
Ответ на: комментарий от Score-49

> В EvEnT QUeUe тОЛьКо заДаЧИ пО ОтРиСовКе GUI!!!!!!!!!! ВсЕ ОсТАльНые ЗаДАчи ТолЬкО в ОтДельНых Тредах!!!!!!!!!

Системщики херовы, пищите свои либы-фреймворки-ОС-компиляторы так, чтоыб эта проблема никого не е**ла. Это нихера не интуитивно, когда по какой-то причине нельзя, скажем, на клик по кнопке просто повесить увесистую процедуру с циклами.

anonymous
()
Ответ на: комментарий от anonymous

Ну, вон, Гай Стил раньше работал с Лиспом, а теперь в команде разработки Java - напиши ему, чтобы реализовал в javac методы искусственного интеллекта, он в них, наверное, шарит.

Score-49
() автор топика
Ответ на: комментарий от Score-49

> Ну, вон, Гай Стил раньше работал с Лиспом, а теперь в команде разработки Java - напиши ему, чтобы реализовал в javac методы искусственного интеллекта, он в них, наверное, шарит.

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

anonymous
()

>boolean b = DEFAULT_VA*UL*E;

Не люблю этот "значок", но o_O

UserUnknown ★★★★★
()

I ne programmer, no zdes - ? (vopros_filosofskiy)
chemu ge = b?

"if (b != true && b != false)" ?

eche raz govoru - chistiy gumanitariy..

anonymous
()
Ответ на: комментарий от anonymous

Re^2: [ЖЖ] Ещё пример индусокода.

> I ne programmer, no zdes - ? (vopros_filosofskiy)

> chemu ge = b?


> "if (b != true && b != false)" ?


> eche raz govoru - chistiy gumanitariy..


В этом вся и фишка. %)

feanor ★★★
()
Ответ на: комментарий от anonymous

А что, неужели в Лиспе все само? Циклы в обработчике нажатия на кнопку в отдельный тред Лисп сам выносит? Или с помощью святого Пола нашего Грэма?

Karapuz ★★★★★
()

Если бы не было DEFAULT_VALUE, то был бы нормальный кусок кода. Мол, если не 0 и не 1, то возвращаем 1. Нормальная заморочка, имхо.

balodja ★★★
()
Ответ на: комментарий от Score-49

>Во-первых, не 1 и 0, а true и false - Java же. А во-вторых, что там ещё-то будет.

Про неопределенность не слышал никогда ? Для примера посмотри что такое высокоимпедансное (то что сопротивление высокое и так понятно :) состояние на портах ввода-вывода когда линия работает на ввод.

koTuk
()
Ответ на: комментарий от balodja

>Если бы не было DEFAULT_VALUE

А чем это вообще не нравится ? А если код нужно перенести и условия изменились, и состояние по умолчанию инвертировать нужно - весь код будешь перетряхивать или лучше всеже в одном месте исправить DEFAULT_VALUE на противоположное значение ?

koTuk
()
Ответ на: комментарий от koTuk

Какая неопределённость, какие порты ввода-вывода, это Java. Давай пример кода, который в переменную типа boolean (не путать с классом Boolean) кладёт не true и не false. О какой-то аварийной ситуации, типа битого железа, ОС, JVM и т.д. речи не идёт, т.к. там невозможна нормальная работа программы.

Score-49
() автор топика
Ответ на: комментарий от Score-49

>Какая неопределённость, какие порты ввода-вывода,
это я тебе для ознакомления привел пример, что бывает такое а то ты видимо про такое впервые слышишь

>Давай пример кода, который в переменную типа boolean (не путать с классом Boolean) кладёт не true и не false.
то что там программист перестраховался - это его право. Хотел бы я посмотреть на то что ты написал, прежде чем поливать кого-то грязью.

koTuk
()
Ответ на: комментарий от Score-49

Кстати, я не пробовал, но в native-методах скорее всего в boolean-овскую переменную можно мусор записать и будет не true и не false.

Legioner ★★★★★
()
Ответ на: комментарий от bigc

И вариантов, когда b==черт_те_чего может быть масса, особенно когда код не в одиночку пишется.

Перебздеть лучше, чем недобздеть

Вот

bigc ★★
()
Ответ на: комментарий от bigc

В джаве не может. В С++ может, если память не инициализирована, но это UB и надо корень проблемы отлавливать а не с последствиями пытаться бороться (тем более что с современными инструментами это обычно делать не сложно).

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Спасибо, это уже интересно. Но это в коде не используется.

Score-49
() автор топика
Ответ на: комментарий от bigc

> И вариантов, когда b==черт_те_чего может быть масса, особенно когда код не в одиночку пишется.

Oh wow, tell me more.

Score-49
() автор топика
Ответ на: комментарий от Legioner

#define boolean int 
#define true 1 
#define false 0 


int main (void) {

    static boolean DEFAULT_VALUE = true;
    boolean b = DEFAULT_VALUE;
    if (b != true && b != false)
    return DEFAULT_VALUE;

    return 0;
}

какой говорите у вас там язык с высокой достоверностью ? :)

koTuk
()
Ответ на: комментарий от koTuk

Ну я потому и не написал, что 100%. На С++ так никто не пишет (по крайней мере я не видел). Да и топикстартер подтвердил.

Legioner ★★★★★
()
Ответ на: комментарий от Score-49

хе-хе, кстати очень классная бяка Ж) такое можно искать долго, громко матерясь по англиски

beastie ★★★★★
()
Ответ на: комментарий от Score-49

>#define true false

>:)

Пионерка на утренней линейке: вчера какие-то подростки задержали меня в темном подъезде и начали пихать мне поочереди что-то мягкое между ног - а если бы острое, а если бы в глаз ?

koTuk
()

может, человека в свое время жестко доставал sql с его true, false и null. Вот и перестраховывается по привычке.

anonymous
()
Ответ на: комментарий от Score-49

> Кавай пример кода, который в переменную типа boolean (не путать с классом Boolean) кладёт не true и не false.

например, прочитали b через ORM из БД, где поймали значение NULL (почему его в схеме БД разрешили -- отдельный вопрос). или такой типа cast не Boolean'а в Boolean (=null).
Вот такой "затыкашечкой" и заткнули.

anonymous
()
Ответ на: комментарий от Legioner

Boolean b=true;
Object c=4;
JFrame f;
System.out.println("b="+b);

// b=f;
b=(Boolean)c;
System.out.println("b="+b);
b=null;
System.out.println("b="+b);

что будет в b?

anonymous
()
Ответ на: комментарий от Legioner

javac 1.6 проглотил
class H{
public static void main(int argc, String argv[]) {
System.out.println("Hello, World!");
Boolean b=true;
Object c=4;

System.out.println("b="+b);

// b=f;
b=(Boolean)c;
System.out.println("b="+b);
b=null;
System.out.println("b="+b);

}
}

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.