Показать сообщение отдельно
Непрочитано 18.04.2012, 23:27   #24
Аватар для VISTALL
Illussion is real

Автор темы (Топик Стартер) Re: Java - ваш итог(недостатки, прочее)

Цитата:
Сообщение от Blakkky Посмотреть сообщение
Может быть, без IDE не понятно, если честно. Но ошибка не в этом. Да и для вызова функций вроде как последовательность однозначна, слева направо.


Да, это тоже косяк, но я не про эту ошибку, я про ошибку в логике кода говорил (пример-то на читабельность кода).

О, пока отвечал, еще одну ошибку нашел

Ошибки (это к вопросу чтения кода):
1. x1 и x2 вычисляются одинаково, хотя это должно быть не так
x1 = new Double4k( 0. ).sub( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );
x2 = new Double4k( 0. ).add( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );


2. Потерял b в формуле для корней:
x1 = new Double4k( 0. ).sub( b ).sub( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );
x2 = new Double4k( 0. ).sub( b ).add( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );


Кстати, перегрузка операторов легко решается на уровне препроцессора (по крайней мере для себя я это делал так: если после переменной-объекта есть +-*/, то поискать у нее метод __operatorAdd(...) и заменить + на его вызов).
И препроцессор простенький для дублирования/генерации кода для себя тоже делал сам (кое-что удобно генерировать, а не писать руками), build.xml для ant-а + php-скрипт для предобработки классов перед компиляцией. Один в таком решении косяк - код перестает валидироваться в IDE.
поддержка IDE незнаю проще - если есть IDE опенсорс, а вот компилятор(когда ниодин ненравится это ппц)
__________________
consulo.io - Consulo - multi-language IDE
VISTALL вне форума Ответить с цитированием