- 1
Шёл 2015 год, а SQLite на ведре так и не научился сравнивать не ASCII'шные строки без учёта регистра...
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+144
Шёл 2015 год, а SQLite на ведре так и не научился сравнивать не ASCII'шные строки без учёта регистра...
Или это у меня руки из жопы растут?
+141
public static void main(String[] args)
{
int[] array = {1,2,3};
permure(array, array.length);
}
private static void permure(int[] arr, int size)
{
if(size < 2){
System.out.println(Arrays.toString(arr));
}else {
for(int k = 0; k < size; k++){
swap(arr, size - 1, k);
permure(arr, size - 1);
}
}
}
private static void swap(int[] arr, int index0, int index1)
{
int tmp = arr[index0];
arr[index0] = arr[index1];
arr[index1] = tmp;
}
Изначально задумывалось чтобы код генерил все возможные варианты перестановок чисел в массиве,но делает ровно половину перестановок.
+142
try {
connection.executeQuery("select to_date('" + this.getMonth() + "', 'yyyyMM') from dual", null);
} catch (Exception e) {
logger.error(e.getMessage(), e);
Error = true;
fault.addError(8, 100);
return;
}
Лучший способ по проверке корректности даты
this.getMonth() - возвращает дату из пришедшего запроса
+147
private String getNewRowKey() {
Hashtable<String, String> dataFields = new Hashtable<String, String>();
dataFields.put(TCommandConstants.TRANSITIONS_MARKET, Utils.convertMarketFrom("RUS",marketCB.getSelectedItem().toString()));
dataFields.put( TCommandConstants.TRANSITIONS_INITIAL_STATUS, initialStatusCB.getSelectedItem().toString());
dataFields.put( TCommandConstants.TRANSITIONS_TRANS_RULE, transitionRuleCB.getSelectedItem().toString());
dataFields.put(TCommandConstants.TRANSITIONS_TARGET_STATUS, targetStatusCB.getSelectedItem().toString());
return dataFields.get(TCommandConstants.TRANSITIONS_INITIAL_STATUS) + BPGraph.EMPTY_ITEM + dataFields.get(TCommandConstants.TRANSITIONS_TRANS_RULE) + BPGraph.EMPTY_ITEM + dataFields.get(TCommandConstants.TRANSITIONS_TARGET_STATUS);
}
+84
public static int getNumber() {
try {
return 7;
} finally {
return 43;
}
}
Оказывается так делать можно...
+85
private boolean isWrapper(Class<?> candidateWrapperClass) {
return candidateWrapperClass.equals(Byte.class) ? true
: candidateWrapperClass.equals(Boolean.class) ? true
: candidateWrapperClass.equals(Character.class) ? true
: candidateWrapperClass.equals(Short.class) ? true
: candidateWrapperClass
.equals(Integer.class) ? true
: candidateWrapperClass
.equals(Long.class) ? true
: candidateWrapperClass
.equals(Float.class) ? true
: candidateWrapperClass
.equals(Double.class) ? true
: false;
}
Просто метод для проверки, является ли класс оберткой примитива.
Отсюда https://github.com/mtedone/podam/blob/master/src/main/java/uk/co/jemos/podam/api/PodamFactoryImpl.java
+77
val field = HttpEntityWrapper.class.getDeclaredField("wrappedEntity");
field.setAccessible(true);
HttpEntity entity = response.getEntity();
while (entity instanceof HttpEntityWrapper) {
entity = (HttpEntity) field.get(entity);
}
log.info("Response entity class: {}", entity.getClass().getName());
Чего только не приходится делать ради отладки...
+143
for (val side: new boolean[] { false, true }) {
+80
return payments.isEmpty() ? create ? store ? addPayment(serviceProvider) : createPayment(serviceProvider) : null : payments.iterator().next();
экономим на строчках
+78
public void initializeMap() {
for(Point p: getPoints()) {
{
Address address = p.getAddress();
LatLng position = new LatLng(address.getLatitude(), address.getLongitude());
//...
} // (2)
for (Item item : items) {
Address address = item.getAddress();
LatLng position = new LatLng(address.getLatitude(), address.getLongitude());
//...
}
}
}
автору лень придумывать вменяемые имена переменных, для кода ниже. по сему, он просто оборачивает верний код в новый блок и вуаля - можно реюзать те самые имена.
не совсем уверен говнокод ли это, но как минимум это - глупо.