- 1
https://pastebin.com/m3KsHvKF
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−2
https://pastebin.com/m3KsHvKF
Говнооо! Говноооо! Мноооого говнаааа. Настолько много, что в 100 строк поместится только 2/16 говна. Это код калькулятора, который я писал когда только начинал изучать java - первый язык программирования. Особенно жестко на 30, 115, 150, 220, 700, 740, строках. Ну, короче, вы поняли - везде.
0
package figury;
import java.util.Scanner;
public class figuremn {
public static void main (String[] args){
String [] monthyear = new String[12];
monthyear [1] = "Январь";
monthyear [2] = "Февраль";
monthyear [3] = "Март";
monthyear [4] = "Апрель";
monthyear [5] = "май";
monthyear [6] = "июнь";
monthyear [7] = "июль";
monthyear [8] = "август";
monthyear [9] = "сентябрь";
monthyear [10] = "октябрь";
monthyear [11] = "ноябрь";
monthyear [12] = "декабрь";
System.out.println("Введите номер месяца");
Scanner scan = new Scanner(System.in);
String x = scan.nextLine;
monthyear[]=x;
{System.out.println(x);
}
}
}
−2
// this method is used for storing name instead of password
@Override
public String getPassword() { return name; }
−1
if (context instanceof Activity) {
activity = (MainActivityMVI) context;
try {
listener = (OnOfferItemClickListenerS) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + "must implement OnOfferItemClickListenerS");
}
try {
listener2 = (OnLoadDataSearchMainFragmentListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + "must implement OnLoadDataSearchMainFragmentListener");
}
App.getComponent(activity).inject(this);
}
+3
if (x_sum_first_row == 3 || x_sum_second_row == 3 || x_sum_third_row == 3 ||
x_sum_first_column == 3 || x_sum_second_column == 3 || x_sum_third_column == 3 ||
x_sumDiagonalLR == 3 || x_sumDiagonalRL == 3 ||
o_sum_first_row == 3 || o_sum_second_row == 3 || o_sum_third_row == 3 ||
o_sum_first_column == 3 || o_sum_second_column == 3 || o_sum_third_column == 3 ||
o_sumDiagonalLR == 3 || o_sumDiagonalRL == 3)
someoneWon = true;
return someoneWon;
https://codereview.stackexchange.com/questions/125248/java-tic-tac-toe-game-implemented-through-mvc
+3
public static Date round(Date d) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("ddMMyyyy");
return sdf.parse(sdf.format(d));
} catch (ParseException ex) {
//This exception will never be thrown, because sdf parses what it formats
return d;
}
}
Простейший коробочный способ округления даты до дня.
+3
http://www.ssw.uni-linz.ac.at/Research/Papers/Wuerthinger07/Wuerthinger07.pdf
Как известно, в языках C и C++ есть проблема с buffer overflow, в то время как в языке Java такой проблемы нет (баги в реализации самой JVM не рассматриваем). В языке Java, как и в многих других подобных языках для анскиллябр заедушных, не могущих в сырые указатели, сделали проверки границ массива. В говноязыке C++ впрочем тоже есть какая-то такая питушня, например std::vector::at выполняет роверку выхода индекса за границы диапазона вектора. Только вот в язык JVM давно уже внедряют такую хреноту, как array bounds check elimination, т.е. убирание проверок, когда на этапе компиляции можно доказать, что такие проверки не нужны.
В какой версии C++ сделают чтоб std::vector::at тоже вот так могло автозаменяться на небезопасный аналог если компилятор доказал что там эти проверки не нужны?
+2
private fun showTicketWithSerialNumber(numberField: EditText, dateField: EditText) {
RxTextView.textChangeEvents(numberField).subscribe {
if (it.text().isNotEmpty()) {
RxTextView.textChangeEvents(dateField).subscribe {
if (it.text().isNotEmpty()){
vCardSearch.vis { true }
vButtonAddFlight.alpha = 1f
}
}
}
}
}
private fun showTicketWithoutSerialNumber(airlineField: EditText, departureField: EditText, arrivalField: EditText, dateField: EditText) {
RxTextView.textChangeEvents(airlineField).subscribe {
if (it.text().isNotEmpty()) {
RxTextView.textChangeEvents(departureField).subscribe {
if (it.text().isNotEmpty()){
RxTextView.textChangeEvents(arrivalField).subscribe {
if (it.text().isNotEmpty()) {
RxTextView.textChangeEvents(dateField).subscribe {
if (it.text().isNotEmpty()){
vCardSearch.vis { true }
vButtonAddFlight.alpha = 1f
}
}
}
}
}
}
}
}
}
Открыл. Увидел. Охуел. RxJava(в данном случае RxKotlin) в действии блеать......
−4
List<Validatable> list = getValues();
...
return list == null || list.stream().reduce(Boolean.TRUE,
(identity, cf) -> identity
&& cf.validate().stream()
.map(ValidationError::getError)
.peek(feedbackPanel::error)
.count() == 0,
(result1, result2) -> result1 && result2);
Покритикуйте ошибки использования stream и lambda
+2
public class TradingAccounts {
private static HashMap<String, TradingAccounts> hashMap = new HashMap<String, TradingAccounts>();
....
public static void clear() throws Exception {
hashMap.clear();
TradingAccounts[] all = getAll();
for (TradingAccounts acc : all) {
hashMap.put(acc.getAccount().trim(), acc);
}
}
....
}
Production code.
При рефакторинге LEGACY приложения утерян вызов
TradingAccounts.clear()
По факту это привело к ошибке, т.к. этот справочник всегда оставался пустым.
Кто бы мог догадаться, что метод clear загружает данные из БД...