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
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.