- 1
@items = keys %{{ map { $_ => 1} @items }};
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−121
@items = keys %{{ map { $_ => 1} @items }};
Удаление повторов из массива.
Вроде и не ГК, но, блин, такие вырвиглазные конструкции меня порой убивают... Мои глаза...
+72
public static String getClassName(final HWND hWnd) {
final char[] cname_b = new char[1024];
User32.INSTANCE.GetClassName(hWnd, cname_b, 1000);
final char[] cname_b_truncated = ArrayUtils.toPrimitive(Iterables
.toArray(Functional.takeWhile(Arrays.asList(ArrayUtils
.toObject(cname_b)), Predicates.not(Predicates
.equalTo(Character.valueOf((char) 0)))),
Character.class));
return String.valueOf(cname_b_truncated);
}
Только что выдавил)
Интерес представляют строки с 5 по 9. Тут должно было быть всего-лишь
takeWhile (/= '\0') cname_b
но из-за боксинга/анбоксинга (примитивные типы в Java не могут быть параметрами Generic), и из-за того, что массивы в Java не Iterable - получилось ЭТО.
+152
Map = function() {
this._entries = new Array();
}
Map.prototype.containsKey = function(key) {
return this.getEntry(key)!=null;
}
Map.prototype.get = function(key) {
var entry = this.getEntry(key);
return entry!=null ? entry.value : null;
}
Map.prototype.put = function(key, value) {
var entry = this.getEntry(key);
if (entry!=null) {
entry.value = value;
} else {
entry = new Map.Entry(key, value);
this._entries[this._entries.length] = entry;
}
}
Map.prototype.size = function() {
return this._entries.length;
}
Map.prototype.getEntry = function(key) {
for (var i=0; i<this._entries.length; i++) {
if (this._entries[i].key==key)
return this._entries[i];
}
return null;
}
Map.prototype.entries = function() {
return this._entries;
}
Map.prototype.keys = function() {
var result = new Array();
for (var i=0; i<this._entries.length; i++) {
result[result.length] = this._entries[i].key;
}
return result;
}
Map.prototype.values = function() {
var result = new Array();
for (var i=0; i<this._entries.length; i++) {
result[result.length] = this._entries[i].value;
}
return result;
}
Map.prototype.addAll = function(map) {
if (map==null)
return;
var oe = map.entries();
for (var i=0; i<oe.length; i++) {
this.put(oe[i].key, oe[i].value);
}
}
Map.prototype.toString = function() {
return "[Map{size:"+this._entries.length+", entries:"+this._entries+"}]";
}
Map.Entry = function(key, value) {
if (arguments.length==0)
return;
this.key = key;
this.value = value;
}
Map.Entry.prototype.toString = function() {
return "[Entry{key:"+this.key+", value:"+this.value+"}]";
}
То что любой объект и так работает как Map автор видимо не знал.
Можно было бы предположить, что автор это знал, но написал этот Map для того чтобы использовать произвольные объекты как ключи, однако во всех обнаруженных использованиях этой Map ключами были строки.
−866
sBigDad varchar2(200) := '';
vaKids ids_va := ids_va();
vaDads ids_va := ids_va();
vaBigDads ids_va := ids_va();
vaGrandKids ids_va := ids_va();
vaTempKids ids_va := ids_va();
+159
Boolean.prototype.toLocaleString = function () { return this; return this ? 'Yes' : 'No' }
пукнул...
+97
procedure TStdMessageInfo.Build(pMessage: String; pKind: Integer);
var List: TStringList;
begin
List := TStringList.Create;
try {!!! это такой хитрый способ заменить #13 на #13#10}
List.Text := pMessage;
if List.Count = 1 then FMessage := List[0]
else FMessage := List.Text;
finally
List.Free;
end;
FKind := pKind;
end;
+158
Object.prototype.addEvent = function (type, handler) {
for (var i = 0; i < this.length; i++) {
this[i]['on' + type] += ';' + (handler + '').replace(/function.+?\{/, '').replace(/}$/, '');
}
return this;
};
+153
#define DOISA(x,p,y) \
ClassID x::isA() const{return y;} \
MYBoolean x::isA(ClassID i) const \
{ \
return (i == x::isA() ? TRUE : p::isA(i)); \
}
Ядро большого проекта. Имеется довольно большая иерархия наследуемых классов с виртуальными методами isA(). Все эти методы зачем-то сворачиваются в этот макрос.
+159
echo $Router->index->title->DB->select("SELECT title FROM content WHERE id = 1");
+161
$razn = mktime(0,0,0,$m,$d,$y);
$vozrast = (time() - $razn) / 31536000;
return explode(".",$vozrast);
из кода одного крупного сайта, сделанного на заказ