- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
@Override
public Object clone() {
try {
return super.clone();
} catch (Exception e) {
return this;
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+90
@Override
public Object clone() {
try {
return super.clone();
} catch (Exception e) {
return this;
}
}
"Клонирование"
auf1r2 21.07.2011 12:47 # −1
Lure Of Chaos 21.07.2011 13:12 # +9
ёкарный бабай!
auf1r2 21.07.2011 14:27 # −1
equals и hashCode нет вообще
Lure Of Chaos 21.07.2011 14:32 # 0
auf1r2 21.07.2011 14:36 # −1
auf1r2 21.07.2011 14:44 # −1
Lure Of Chaos 21.07.2011 14:45 # +2
то есть, так и нужно.
tir 21.07.2011 15:15 # +1
Lure Of Chaos 21.07.2011 15:16 # 0
tir 21.07.2011 15:23 # +1
Lure Of Chaos 21.07.2011 15:27 # 0
tir 21.07.2011 15:30 # +1
Из этой же серии "проверка на нечетность".
public boolean isOdd(int value) {
return value % 2 == 1;
}
TarasB 21.07.2011 15:36 # +4
tir 21.07.2011 15:41 # +3
TarasB 21.07.2011 16:17 # 0
tir 21.07.2011 16:29 # +3
TarasB 21.07.2011 16:38 # +1
tir 21.07.2011 16:45 # −2
TarasB 21.07.2011 16:51 # 0
Отсутствие проверки переполнения не оправдано ничем.
tir 21.07.2011 16:56 # 0
eth0 21.07.2011 18:23 # +2
roman-kashitsyn 21.07.2011 18:31 # +1
tir 22.07.2011 10:22 # +1
Lure Of Chaos 22.07.2011 10:53 # +3
Lure Of Chaos 22.07.2011 11:00 # +6
есть нормальный Python, но whitespace там имеет значение и синтаксис
есть нормальная Java, но медленная и в песочнице
есть нормальные С\С++, но сложные и остальными низкоуровневыми заморочками
roman-kashitsyn 22.07.2011 12:01 # +3
есть нормальный Lisp, но он в деды нам всем годиться
предлагаю собрать всё вместе, доработать и сочинить песенку.
Lure Of Chaos 22.07.2011 12:06 # +1
roman-kashitsyn 22.07.2011 12:29 # −2
SmackMyBitchUp 22.07.2011 12:17 # 0
TarasB 22.07.2011 11:34 # −2
А это значит, что языки, не удовлетворяющие этим требованиям - ацтой.
tir 22.07.2011 14:31 # 0
1. В твоем нормальном языке по умолчанию выключен контроль переполнения. Когда он тебе нужен ты ставишь директивы компилятору. В java: используется int, когда нужен контроль используем BigInteger.
2. В твоем нормальном языке по умолчанию включен контроль переполнения. Когда он не нужен ты ставишь директиву. В java: используется BigInteger, с откатом до int в случае необходимости.
Итог: один хер приходится следить за переполнением. Только ты ставишь директиву компилятора, а жава-кодеры применяют другой тип.
> это значит, что языки, не удовлетворяющие этим требованиям - ацтой
Это уже диагноз =) Ты тут наверное любимчик =)
TarasB 22.07.2011 14:53 # 0
Да, именно так.
> В java: используется BigInteger
Кем? Видишь ли, в нормальном языке надо делать лишние движения, чтобы отрубить проверки, а в ненормальным - надо делать движения, чтобы включить.
> Только ты ставишь директиву компилятора, а жава-кодеры применяют другой тип.
Поменять директивы легче, чем поменять тип.
roman-kashitsyn 22.07.2011 15:18 # −1
Прикольно обсерать языки, которых не знаешь? BigInteger не проверяет на переполнение, он позволяет работать с числами с произвольной точностью, как Integer в Haskell (где для обычных чисел "с переполнением" есть Int). Python и Lisp при возможности переполнения сами обернут целое число в аналогичную обёртку. Директива компилятора же не сделает целочисленный тип шире. Ну, быть может, уронит программу в случае переполнения. Как видишь, разница принципиальна.
TarasB 22.07.2011 15:54 # +1
Я понял.
> Директива компилятора же не сделает целочисленный тип шире.
Я в курсе. Это твой коллега посоветовал BigInteger в качестве решения. Пойми одну вещь - облажаться из-за того, что ЗАБЫЛ включить проверку/широкий тип итд, намного легче, чем облажаться из-за того, что СОЗНАТЕЛЬНО ОТКЛЮЧИЛ проверку.
SmackMyBitchUp 22.07.2011 15:16 # 0
roman-kashitsyn 22.07.2011 15:24 # −1
Представляется сразу суровый кодер на Ада, который перед релизом втыкает/вырезает в 1.500.000 строках кода директивы компилятора для отключения/включения проверок... Надеюсь, у компилятора и для этого есть опция )
TarasB 22.07.2011 15:55 # +2
Во-первых, можно отрубить во всём проекте. Можно отрубить в модуле. Можно найти узкое место (одну функцию) и отрубить только в ней.
guest 22.07.2011 16:36 # −1
TarasB 22.07.2011 16:39 # −3
По умолчанию язык навязывает именно опасный тип, что очень плохо.
absolut 22.07.2011 21:09 # +4
что очень быстро.
roman-kashitsyn 21.07.2011 17:22 # −1
3.14159265 21.07.2011 18:22 # 0
круто.
а на каждую мало-мальски значимую операцию.
например объявление перменной нужно ввести checked OutOfMemoryException.
Тарас просто любитель переусложненной и тяжеловесной Ады, которая не делает код надеждней, а только усложняет и тормозит его.
TarasB 21.07.2011 19:35 # −6
Ты меня прям затроллил этой фразой, я аж почувствовал БАТТХЁРТ и заминусовал твой коммент.
TarasB 21.07.2011 19:34 # +1
roman-kashitsyn 21.07.2011 22:37 # −1
TarasB 21.07.2011 22:46 # 0
Тогда весь твой предыдущий пост - необоснованное гонево.
> К счастью, в Java их нет.
Обоснуй. Твой предыдущий пост - слив, не считается.
> А вы, скорее всего, промышленному программированию отношения не имеете.
Если тебя устраивают баги из-за целочисленного переполнения, то не тебе судить мою компетентность.
> Учите дальше школьников вычислять палиндромы. Не разводите холивары и не мешайте людям глумиться над промышленным говном. Пожалуйста.
Не учи меня, что мне делать. Пожалуйста.Ты слишком глуп для этого, в тебе слишком много агрессии на Паскаль.
roman-kashitsyn 22.07.2011 00:08 # −2
КАК Вы собираетесь решить проблему переполнения в методе compareTo() при помощи, предположим, директив? В любой нормальной книжке по java проблема переполнения упоминается (взять, хотя бы, CoreJava), и единственная мера борьбы с ней - использование условных операторов. Проверка на нечётность легко проверяется побитовыми операциями.
>Если тебя устраивают баги из-за целочисленного переполнения, то не тебе судить мою компетентность.
Меня не устраивают любые баги, нужно просто уметь избегать подобных ошибок. Язык тут не при чём, если причина в физике.
> Ты слишком глуп для этого, в тебе слишком много агрессии на Паскаль.
Во мне нет агрессии к паскалю, ибо язык довольно строен и богат, у меня отвращение к его проповедникам, поливающим гавно на мэйнстрим. Кстати, Никлаус Вирт считал Аду, мягко говоря, кровавым выпердышем.
roman-kashitsyn 22.07.2011 07:50 # 0
guest 22.07.2011 16:48 # −4
guest 22.07.2011 16:55 # −4
guest 22.07.2011 17:20 # −3
roman-kashitsyn 22.07.2011 17:30 # +4
http://img0.liveinternet.ru/images/attach/c/1//45/729/45729569_Trolli.jpg
Lure Of Chaos 22.07.2011 17:55 # −1
TarasB 22.07.2011 09:18 # +4
Ну так и пиши условные операторы!
> Меня не устраивают любые баги, нужно просто уметь избегать подобных ошибок. Язык тут не при чём, если причина в физике.
Язык должен предоставлять средства от подобных ошибок. Если создатели языка не осилили встроить проверку на переполнение, то это большой МИНУС языка, и как ни отмазывайся, это будет МИНУС.
> Во мне нет агрессии к паскалю
> Представляю также, как "быстро" работает код, требующих большого числа вычислений, когда при каждой арифметической операции проверяются регистры OF и CF... Вы, батенька, сразу видно, не практик
Ну да, ну да...
> Кстати, Никлаус Вирт считал Аду, мягко говоря, кровавым выпердышем.
Слово "выпердыш" уже ты вставил. Скажи ещё, "хероподгандонным захуищем", чтобы ещё красочнее было!
Так вот, в 83 году Ада казалась сложной, да, но это был 83 год, С++ в нынешнем виде ещё не было.
И мнение Вирта нельзя считать объективным, так как он тоже участвовал в том конкурсе на военный язык и пролетел.
roman-kashitsyn 22.07.2011 10:01 # −1
Таки пишу, товарищ, пишу. А когда реально нужна арифметика без переполнения (допустим, операции с финансами), использую стандартные классы BigInteger и BigDecimal, реализующие операции над числами с произвольной точностью без переполнения.
>Слово "выпердыш" уже ты вставил
А я вроде quote и (c) нигде не ставил.
Дискуссия себя явно исчерпала. Прощайте, сударь.
TarasB 22.07.2011 10:13 # +1
guest 22.07.2011 20:21 # +3
TarasB 22.07.2011 20:49 # 0
Нездоровый образ жизни у меня какой-то.
absolut 22.07.2011 21:12 # 0
TarasB 22.07.2011 21:14 # 0
gegMOPO4 23.07.2011 15:26 # 0
roman-kashitsyn 26.07.2011 10:32 # 0
SmackMyBitchUp 26.07.2011 13:20 # 0
quote=roman-kashitsyn
>есть нормальный Haskell, чтоб на нём писать, нужно сперва напиться
3.14159265 27.10.2011 13:47 # +1
Ох лол. Тут с Тарасом не поспоришь, да.
gegMOPO4 21.07.2011 16:17 # +1
guest8 09.04.2019 11:12 # −999