- 1
- 2
- 3
- 4
Ingeter[] i = new Integer[1];
for (i = 0; i<n; i++) {
//что-то происходит
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+77
Ingeter[] i = new Integer[1];
for (i = 0; i<n; i++) {
//что-то происходит
}
здесь все по-серьезному
+77
public class SomeEntityBean implements javax.ejb.EntityBean {
private boolean loadMember;
private Wrapper list;
/* ... */
public void ejbLoad() {
this.loadMember = false;
load();
}
private void load() {
/* a LOT of code */
String[] attrList = this.loadMember ? a.attrListMember() : a.attrList();
this.list = new Wrapper(attrList);
/* a LOT of code */
}
public Something getSomething() {
/* a LOT of code */
this.loadMember = true;
load();
/* do something with this.list */
this.loadMember = false;
return something;
}
}
Имена персонажей были умышленно изменены.
Разумеется, loadMember больше нигде не используется.
Яркий пример повторного использования кода.
+77
ArrayList<BaseEventData> tempList = new ArrayList<BaseEventData>();
int to = baseList.size()-1;
while((to > 0) && (baseList.get(to).getTime() > timeTo))
to--;
int from = to;
while((from > 0) && (baseList.get(from).getTime() >= timeFrom)){
tempList.add(baseList.get(from));
from--;
}
mEvents = tempList.toArray(new BaseEventData[]{});
Часть метода. Метод предназначен для чтения ленты событий. Среди полученной ленты выбираются те, время возникновения которых попадает в заданный период. События изначально отсортированы по этому времени, от первого к последнему. то-есть последний элемент - последнее событие.
+77
protected String getResponseFaultCode(Map<String, Object> response) {
Object faultCode = response.get("FAULTCODE");
if (null != faultCode){
return faultCode.toString();
}
return null;
}
+77
top = width / 2d;
bottom = width / 2d;
left = height / 2d;
right = height / 2d;
Из-за данного участка кода было убито очень много нервова
+77
function formatSpeedBits(speed) {
// format speed in bits/sec, input: bytes/sec
if (speed < 125000) return Math.round(speed / 125) + " Kbps";
if (speed < 125000000) return Math.round(speed / 1250)/100 + " Mbps";
// else
return Math.round(speed / 1250000)/100 + " Gbps"; // wow!
}
JS в интерфейсе прошивки dd-wrt. Не совсе говнокод.
+77
...:
:
Document doc = mySAXBuilder.build(pathToXML);
Element root = null;
List<Element> children = null;
if( null != doc
&&
(
( (root = doc.getRootElement()) != null && root.getName().equals("root") ) ?
(
(children = root.getChildren()) != null ?
(children.size() > 0)
: false
)
: false
)
)
{
// XML PARSING
}
:
:......
Интересный этюд при разборе XML'ки :)
+77
public void log(String msg) {
try {
StringBuffer sb = new StringBuffer(), sb2 = new StringBuffer();
sb.append(getDeviceId()).append(": ").append(msg).append('\n');
sb2.append("^^ ").append(sb);
System.out.println(sb2.toString()); // Вывод в консоль
platform.logEvent(msg.getBytes()); // Вывод в лог трубы
} catch (Exception e) {
// Ignore
}
}
Проект под BlackBerry. Каменты мои.
Ниасилил в чем соль двух стрингбуферов О_о
+77
private String get4DigitRandom() {
final int length = 4;
int number = (int) (Math.random() * Math.pow(10, length));
StringBuilder sb = new StringBuilder();
for (int i = length; i > 0; i--)
sb.append("" + (int) (number / Math.pow(10, i - 1)) % 10);
return sb.toString();
}
+77
JavaServer Faces 1.2, Facelets, страница .xhtml:
<p:nbsp/>
Что является вызовом facelet-тага, ссылающегося на другой (НEвалидный) .xhtml-файл:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:component xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets">
<h:outputText escape="false" value="&nbsp;" />
</ui:component>
Это, типа, способ вставить на страницу. Вместо того, что бы просто написать где это нужно.
А что бы это работало в xhtml-нике, нужно всего лишь поставить правильный DOCTYPE вначале
документа.