- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
@Override
public void setAdapter(ListAdapter adapter) {
if (mAdapter != null) {
mAdapter.unregisterDataSetObserver(mDataObserver);
}
mAdapter = adapter;
mAdapter.registerDataSetObserver(mDataObserver);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+76
@Override
public void setAdapter(ListAdapter adapter) {
if (mAdapter != null) {
mAdapter.unregisterDataSetObserver(mDataObserver);
}
mAdapter = adapter;
mAdapter.registerDataSetObserver(mDataObserver);
}
Дебажу говнокод доставшийся в наследство и получаю NullPointerException
+76
private List< String > extractMetaDataLines()
{
final ArrayList< String > metaDataLines = new ArrayList< String >();
int currentLineIndex = 0;
int start = 0;
int end = 0;
for ( final String line : getLines() )
{
if ( line.contains( METADATA_TAG ) )
{
if ( line.contains( "</" ) )
{
end = currentLineIndex
- ( getLines().get( currentLineIndex - 1 ).contains( "]]>" ) ? 1
: 0 );
if ( line.contains( "<fx" )
|| line.contains( "<mx" ) )
{
start = end;
}
break;
}
if ( line.contains( "<" ) )
{
start = currentLineIndex
+ ( getLines().get( currentLineIndex + 1 ).contains( "CDATA[" ) ? 2
: 1 );
}
}
currentLineIndex++;
}
metaDataLines.addAll( getLines().subList( start,
end ) );
return metaDataLines;
}
build.xml:413: java.lang.IllegalArgumentException: fromIndex(12) > toIndex(11)
at java.util.ArrayList.subListRangeCheck(ArrayList.java:964)
at java.util.ArrayList.subList(ArrayList.java:954)
at com.adobe.ac.pmd.files.impl.MxmlFile.extractMetaDataLines(MxmlFile.java:262)
at com.adobe.ac.pmd.files.impl.MxmlFile.copyScriptLinesKeepingOriginalLineIndices(MxmlFile.java:191)
+76
if ( !log.append(log_line) )
log.append("Can't append to log");
Безумие, оно рядом.
+76
public String bufer (int k) {
String bufer = "";
switch (k) {
case 1:
for (int i = 0; i < 10; i++) {
if (i == 6)
bufer += " ";
bufer += Characters[random.nextInt(Characters.length)];
}
break;
case 2:
for (int i = 0; i < 10; i++) {
if (i == 4 || i == 8)
bufer += " ";
bufer += Characters[random.nextInt(Characters.length)];
}
break;
case 3:
for (int i = 0; i < 10; i++) {
if (i == 6)
bufer += "@";
if (i == 8)
bufer += ".";
bufer += Characters[random.nextInt(Characters.length)];
}
break;
case 4:
for (int i = 0; i < 10; i++) {
bufer += Characters[random.nextInt(Characters.length)];
}
break;
}
return bufer;
}
Вот он, рандом, от тестировщика в selenium
+76
@Override
public void keyPressed(KeyEvent e)
{
if (e.getKeyCode() == KeyEvent.VK_LEFT)
move(-deltaX, 0);
else if (e.getKeyCode() == KeyEvent.VK_RIGHT)
move(deltaX, 0);
else if (e.getKeyCode() == KeyEvent.VK_UP)
move(0, -deltaY);
else if (e.getKeyCode() == KeyEvent.VK_DOWN)
move(0, deltaY);
}
Случайно встретил вот это на одном из сайтов, посвященных обучению джаве
+76
/**
* all object cocomponents must be not the same objects in dump - to eliminate strange situations:
*
* @param copySet
*/
private void createAllNewComplexObjects(HashMap copySet) {
if (copySet != null) {
for (Iterator i = copySet.keySet().iterator(); i.hasNext();) {
Object key = i.next();
Object o = copySet.get(key);
Object newObject = madeNewObect(o);
copySet.put(key, newObject);
}
}
}
/**
* create new instance of the object - if it is of known type. Hashes will bethe same
*
* @param oldObject
* @return
*/
private Object madeNewObect(Object oldObject) {
if (oldObject instanceof String) {
return new String((String) oldObject);
}
if (oldObject instanceof Point) {
return new Point((Point) oldObject);
}
if (oldObject instanceof Vector2D) {
return new Vector2D((Vector2D) oldObject);
}
if (oldObject instanceof RGBA) {
RGBA c = (RGBA) oldObject;
return new RGBA(c.getRed(), c.getGreen(), c.getBlue(), c.getAlpha());
}
if (oldObject instanceof Integer) {
return new Integer(((Integer) oldObject).intValue());
}
if (oldObject instanceof Double) {
return new Double(((Double) oldObject).doubleValue());
}
if (oldObject instanceof Boolean) {
return new Boolean(((Boolean) oldObject).booleanValue());
}
if (oldObject instanceof Float) {
return new Float(((Float) oldObject).floatValue());
}
if (oldObject instanceof HashMap) {
createAllNewComplexObjects((HashMap) oldObject);
return oldObject;
}
return oldObject;
}
В продолжение темы конструктора String(String).
+76
double C54 = ((C13!=0.4)&&(C14!=0)) ? 1 : 0;
double C55 = ((C13==0.4)&&(C14!=0)) ? 1 : 0;
double D56 = (C14 == 0) ? 0 : 1;
double E56 = (C13 == 0.4) ? 1 : 0;
double C56 = D56 * E56;
double C57 = ((C13!=0.4)&&(C14!=0)) ? 1 : 0;
double D58 = (C14 == 0) ? 0 : 1;
double E58 = (C13 == 0.4) ? 1 : 0;
double C58 = D58 * E58;
if (C11 >= 670) {
if (C12 == 3) {
result = C28*C11+((C54*C36*C11+C56*C34*C11)*B18+(C57*C35*C11+C58*C33*C11)*B19+C55*C37*C11)*B21;
} else {
result = C28*C11+(((C54*C36*C11+C56*C34*C11)*B18+(C57*C35*C11+C58*C33*C11)*B19+C55*C37*C11)*2)*B21;
}
} else {
if (C12 == 3) {
result = (C28-C31)*C11+((C54*C36*C11+C56*C34*C11)*B18+(C57*C35*C11+C58*C33*C11)*B19+C55*C37*C11)*B21;
} else {
result = (C28-C31)*C11+(((C54*C36*C11+C56*C34*C11)*B18+(C57*C35*C11+C58*C33*C11)*B19+C55*C37*C11)*2)*B21;
}
}
Часть калькулятора для рассчетов, изначально было на JS
+76
package ololo.cdn.util;
/**
*
*/
public interface AnswerCodes
{
public static final int CODE_OK = 0;
public static final int CODE_NO_AUTH = 1;
public static final int CODE_NO_ACTION_DONE = 2;
public static final int CODE_ERROR_PARAMETERS = 4;
public static final int CODE_NO_RIGHTS = 8;
public static final int CODE_NOT_UNIQ_PARENT = 16;
public static final int CODE_NOT_EXIST_COLUMNS = 32;
public static final String ANSWER_NO_AUTH = "{\"result\":\"error\",\"code\":\"" + CODE_NO_AUTH + "\"}";
public static final String ANSWER_NO_RIGHTS = "{\"result\":\"error\",\"code\":\"" + CODE_NO_RIGHTS + "\"}";
public static final String ANSWER_NOT_UNIQ_PARENT = "{\"result\":\"error\",\"code\":\"" + CODE_NOT_UNIQ_PARENT + "\"}";
public static final String ANSWER_NOT_EXIST_COLUMNS = "{\"result\":\"error\",\"code\":\"" + CODE_NOT_EXIST_COLUMNS + "\"}";
public static final String ANSWER_OK = "{\"result\":\"ok\",\"code\":\"" + CODE_OK + "\"}";
public static final String ANSWER_NOTHING_DONE = "{\"result\":\"ok\",\"code\":\"" + CODE_NO_ACTION_DONE + "\"}";
}
+76
ArrayAdapter<String> alerts = new ArrayAdapter<String>(getActivity(),
R.layout.spinner_item, time);
if (alerts != null) { ... }
+76
static final String MIN_INTEGER = String.valueOf(Integer.MIN_VALUE);
static final String MAX_INTEGER = String.valueOf(Integer.MAX_VALUE);
static final String MIN_LONG = String.valueOf(Long.MIN_VALUE);
static final String MAX_LONG = String.valueOf(Long.MAX_VALUE);
static final int NS_INTEGER = 1;
static final int NS_LONG = 2;
/**
* Проверяет, является ли передаваемая строка строковым представлением числа типа int (long)
* @param s строка для проверки
* @return <code>true</code>, если строка может быть распарсена как int (ling).
* @see Integer#parseInt
* @see Long#parseLong
*/
private static boolean isNumber(String s, int NUMBER_SIZE) {
String MIN_NUMBER = "", MAX_NUMBER = "";
switch (NUMBER_SIZE) {
case (NS_INTEGER):
MIN_NUMBER = MIN_INTEGER;
MAX_NUMBER = MAX_INTEGER;
break;
case (NS_LONG):
MIN_NUMBER = MIN_LONG;
MAX_NUMBER = MAX_LONG;
break;
}
if (s == null) return false;
final int len = s.length();
boolean negative = false;
int pos = len > 0 && (negative = s.charAt(0) == '-') ? 1 : 0;
if (pos == len) return false;
while (pos < len && s.charAt(pos) == '0') pos++; //пропустим 0
if (pos == len) return true; // там 0
// если длина заведомо больше, то и значение по-любому выходит за пределы
if (negative && len - pos > MIN_NUMBER.length() - 1 || len - pos > MAX_NUMBER.length()) return false;
// нужно проверять предельные значения
boolean needCheckRange = negative && len - pos == MIN_NUMBER.length() - 1 || len - pos == MAX_NUMBER.length();
if (needCheckRange) {
final String rangeString = negative ? MIN_NUMBER : MAX_NUMBER;
for (int i = negative? 1:0; pos<len; pos++,i++) {
final char c = s.charAt(pos);
char r = 0;
if (c < '0' || c > '9' ||
(needCheckRange && c > (r = rangeString.charAt(i))) ||
((needCheckRange &= c == r) && false))
return false;
}
} else {
for (;pos<len;pos++) {
final char c = s.charAt(pos);
if (c < '0' || c > '9')
return false;
}
}
return true;
}