- 1
private HttpClient httpServer = new DefaultHttpClient();
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+80
private HttpClient httpServer = new DefaultHttpClient();
У нас в приложении есть свой сервер!!1
+75
public void onBackPressed() {
if (getSupportFragmentManager().getBackStackEntryCount()==0 || getSupportFragmentManager().getBackStackEntryCount()==1) {
finish();
android.os.Process.killProcess(android.os.Process.myPid());
((MainActivity)instance).onDestroy();
}
}
/* чуть дальше */
JSONObject jsonObjectA = null, jsonObjectB = null;
try {
jsonObjectA = new JSONObject(a.toString());
jsonObjectB = new JSONObject(b.toString());
} catch (JSONException e1) {
e1.printStackTrace();
}
if ((jsonObjectA != null || jsonObjectB != null) || (jsonObjectA != null && jsonObjectB != null)) {
try {
valA = jsonObjectA.getString("name");
valB = jsonObjectB.getString("name");
} catch (JSONException e) {
e.printStackTrace();
}
}
Первый фрагмент кода - это больше специфика Android - при нажатии кнопки назад: закрыть приложение, убить процесс и дернуть метод onDestroy() который в норме должен автоматом вызваться при закрытии приложения но не вызывается из-за того что мы убиваем процесс. Про то что условие if можно оптимизировать я умолчу.
На if() во втором фрагменте заглючил даже встроенный в intelliJ Idea инструмент рефакторинга...
+159
if(!preg_match('/@rambler.ru/', $item['email']) ) {
cmsCore::addSessionMessage('Можно использовать почту только <strong>rambler.ru</strong>', 'error');
$errors = true;
}
// код надо расширить добавив другие домены, тот кто это писал явно не думал что придется это делать..
−195
// optimization. Should only be used to read it. Never to write it.
extern CGFloat __ccContentScaleFactor;
Может быть, я бунтарь!
__ccContentScaleFactor = -666;
+142
public Config(string[] str)
{
InitializeComponent();
try
{
textBox5.Text = str[0];
textBox6.Text = str[1];
textBox1.Text = str[2];
textBox2.Text = str[3];
textBox3.Text = str[4];
textBox4.Text = str[5];
textBox7.Text = str[6];
raz = str[7];
}
catch (Exception)
{
return;
}
}
Классика. Говнокод эпохи барокко. Строк мало, но пованивает.
+154
$this->db->from("admin_sidebar");
$this->db->where("folder", 1);
$this->db->order_by("sort", "asc");
$query = $this->db->get();
$data[0] = $query->result();
$this->db->from("admin_sidebar");
$this->db->where("folder", 2);
$this->db->order_by("sort", "asc");
$query = $this->db->get();
$data[1] = $query->result();
$this->db->from("admin_sidebar");
$this->db->where("folder", 3);
$this->db->order_by("sort", "asc");
$query = $this->db->get();
$data[2] = $query->result();
$this->db->from("admin_sidebar");
$this->db->where("folder", 4);
$this->db->order_by("sort", "asc");
$query = $this->db->get();
$data[3] = $query->result();
$this->db->from("admin_sidebar");
$this->db->where("folder", 5);
$this->db->order_by("sort", "asc");
$query = $this->db->get();
$data[4] = $query->result();
−165
passport integer
Из дипломной работы. Человек хоть раз открывал свой паспорт?
+159
if($ank['rating']>=0 && $ank['rating']<=1)echo " <img src='/rating/img/1.gif'></img>";
if($ank['rating']>=2 && $ank['rating']<=3)echo " <img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img>";
if($ank['rating']>=4 && $ank['rating']<=5)echo " <img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img>";
if($ank['rating']>=6 && $ank['rating']<=7)echo " <img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img>";
if($ank['rating']>=8 && $ank['rating']<=9)echo " <img src='/rating/img/2.gif'></img>";
if($ank['rating']>=10 && $ank['rating']<=11)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/1.gif'></img>";
if($ank['rating']>=12 && $ank['rating']<=13)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img>";
if($ank['rating']>=14 && $ank['rating']<=15)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img>";
if($ank['rating']>=16 && $ank['rating']<=17)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img>";
if($ank['rating']>=18 && $ank['rating']<=19)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img>";
if($ank['rating']>=20 && $ank['rating']<=21)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/1.gif'></img>";
if($ank['rating']>=22 && $ank['rating']<=23)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img>";
if($ank['rating']>=24 && $ank['rating']<=25)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img>";
if($ank['rating']>=26 && $ank['rating']<=27)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img>";
if($ank['rating']>=28&& $ank['rating']<=29)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img>";
if($ank['rating']>=30 && $ank['rating']<=31)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/1.gif'></img>";
if($ank['rating']>=32&& $ank['rating']<=33)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img>";
if($ank['rating']>=34 && $ank['rating']<=35)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img>";
if($ank['rating']>=36 && $ank['rating']<=37)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img><img src='/rating/img/1.gif'></img>";
if($ank['rating']>=38 && $ank['rating']<=39)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img>";
if($ank['rating']>=40 && $ank['rating']<=41)echo " <img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/2.gif'></img><img src='/rating/img/1.gif'></img>";
А что есть для этого циклы незнают
+73
// Current Month Days
for (int i = 1; i <= _nDaysInMonth; i++) {
if (_myPrefs.getIfConfigured()) {
if (_regionWithHolidays != null && _regionWithHolidays.length > 0) {
String holidayDateStringFormat = String.valueOf(i) + "-" + getMonthAsString(nCurrentMonth) + "-" + _strCurrentSelectedYear;
for (int index = 0; index < _regionWithHolidays.length; index++) {
if (_regionWithHolidays[index].getHolidayDate().equals(holidayDateStringFormat)) {
list.add(String.valueOf(i) + "-RED" + "-" + getMonthAsString(nCurrentMonth) + "-" + yy);
}
}
}
}
if (i == getCurrentDayOfMonth()) {
list.add(String.valueOf(i) + "-BLUE" + "-" + getMonthAsString(nCurrentMonth) + "-" + yy);
} else {
list.add(String.valueOf(i) + "-WHITE" + "-" + getMonthAsString(nCurrentMonth) + "-" + yy);
if (_myPrefs.getIfConfigured()) {
if (_regionWithHolidays != null && _regionWithHolidays.length != 0) {
String otherDates = String.valueOf(i) + "-" + getMonthAsString(nCurrentMonth) + "-" + _strCurrentSelectedYear;
for (int index = 0; index < _regionWithHolidays.length; index++) {
if (_regionWithHolidays[index].getHolidayDate().equals(otherDates)) {
list.remove(String.valueOf(i) + "-WHITE" + "-" + getMonthAsString(nCurrentMonth) + "-" + yy);
}
}
}
}
}
}
// some code
for (int i = 1; i <= _nDaysInMonth; i++) {
String[] day_color = list.get(i).split("-");
if (day_color[1].equals("WHITE")) {
//active dates in current month
dayNumberView.setTextColor(getResources().getColor(R.color.darkGrey_font));
} else if (day_color[1].equals("BLUE")) {
//current date in current month
holder.tvTime.setTextColor(getResources().getColor(R.color.whitetranslucent));
dayNumberView.setTextColor(getResources().getColor(R.color.whitetranslucent));
cell.setBackgroundResource(R.color.blue_font);
} else if (day_color[1].equals("RED")) {
//active dates in current month
dayNumberView.setTextColor(getResources().getColor(R.color.red));
}
}
Это приложение с десятками тысяч пользователей. Мне выпала честь править в нем баги. На сколько я могу судить задача этого куска была отобразить календарь на текущий месяц на экране и подсветить WHITE - обычные дни, BLUE - текущий, RED - выходные и праздничные. Итак в чем соль:
1) сама соль метода - в одном цикле создается список строк вида НОМЕР-ЦВЕТ-МЕСЯЦ-ГОД, чуть ниже в аналогичном цикле эти строки разбиваются по "-" и сравнивается по строковому значению цвета. Кроме того день может быть или текущим или праздничным, но никак не одновременно.
2) два практически одинаковых куска кода по 10 строк - строки 4-13 и 19-28, первый при определенных условия добавляет ПРАЗДНИЧНЫЙ день в календарь, потом день в 16-18 строках день всегда добавляется еще раз этот день, либо обычный(WHITE) либо текущий(BLUE), и выполняется второй кусок и если проходят те же условия т.е. фактические если был добавлен праздничный день(RED) то удаляется добавленный ОБЫЧНЫЙ день. Баг был в том что если текущий день был еще и праздничным то они задваивались. Сделать по нормальному - если день уже добавлен, не добавлять еще раз или сделать continue главному циклу. Не говоря уже о том чтобы добавить break после 9 строки, видно автор не знал про эти операторы.
−168
decode(coalesce(d.modif19,'0'),'0','0',d.modif19)