1. PHP / Говнокод #17075

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (!isset($_SERVER['DOCUMENT_ROOT'])) {
    	if (isset($_SERVER['SCRIPT_FILENAME'])) {
    		$_SERVER['DOCUMENT_ROOT'] = str_replace('\\', '/', substr($_SERVER['SCRIPT_FILENAME'], 0, 0 - strlen($_SERVER['PHP_SELF'])));
    	}
    }

    Никогда не слышали о '&&' или 'and'?
    https://github.com/opencart/opencart/blob/master/upload/system/startup.php#L15-L19

    Интересное замечание: классы Controller и Model в OpenCart имеет один и тот же код.

    volter9, 06 Ноября 2014

    Комментарии (43)
  2. PHP / Говнокод #17074

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    $this->template_model = BaseCommunicationType::model()->findByAttributes(array('template' => $this->template));
    if(!$this->template_model === NULL) {
    		throw new Exception("Template name is wrong", 1);	
    }

    Угадайте, что будет из исключением?

    boddicheg, 06 Ноября 2014

    Комментарии (10)
  3. Perl / Говнокод #17073

    −161

    1. 1
    2. 2
    3. 3
    4. 4
    foreach my $i (0 .. (scalar @{ $PARAMS{Input} } - 1) )
    {
    	@{ $PARAMS{Input} }[$i] = expand_filename(@{ $PARAMS{Input} }[$i]);
    }

    Такая то экспрессия

    Anus, 06 Ноября 2014

    Комментарии (3)
  4. Java / Говнокод #17072

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    @GET
    @Path("/store")
    void getStoreSummary(@QueryParam("id") final String id, final MethodCallback<StoreSummary> callback);
    
    @GET
    @Path("/store")
    void getStoreDetails(@QueryParam("id") final String id, @QueryParam("detailed") final boolean mustBeTrue, final MethodCallback<StoreInfo> callback);

    Есть API-вызов HTTP GET, который по ?detailed=true возвращает расширенный JSON с дополнительными полями.

    И вот в RestyGWT, оказывается, по-другому никак. То есть если бы других параметров запроса не было, можно было бы просто написать

    @Path("/store?detailed=true")
    . Но он не умеет добавлять динамические параметры запроса к захардкоженным. Если попытаться - получается два вопросительных знака: [/code]/store?detailed=true?id=[id][/code].

    someone, 06 Ноября 2014

    Комментарии (13)
  5. PHP / Говнокод #17071

    +163

    1. 1
    $result = $db->query("update `" . $table_prefix . "options` set `option_value`='a:2:{i:0;b:0;s:8:" . '"auto_add"' . ";a:0:{}}' where `option_name`='nav_menu_options';");

    unserialize "глазами на лету" - ЛЕГКО!!!!

    taras_shs, 06 Ноября 2014

    Комментарии (16)
  6. PHP / Говнокод #17070

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    /**
        * Деструктор
        */
        public function __destruct(){

    Публичная функция деструктор - пиши подробнее!

    Elfet, 05 Ноября 2014

    Комментарии (29)
  7. C# / Говнокод #17069

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    /// <summary>
    /// Массив весов для генерации КС длиной в 60 символов
    /// </summary>
    private static int[] weightsArray = new int[]
    { 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1};

    Цикл? Нееее, надёжнее ведь руками забить!

    NeoN, 05 Ноября 2014

    Комментарии (18)
  8. C# / Говнокод #17068

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    string.Format(
        "{0}{3}{1}{4}{2}",
        MrzRfid.Split(';')[0],
        MrzRfid.Split(';')[1],
        MrzRfid.Split(';')[2],
        Environment.NewLine,
        Environment.NewLine);

    Есть строка, которая состоит из 3х логических частей, разделеных символом ';'.
    Этот код разбивает эти 3 части по строкам

    NeoN, 05 Ноября 2014

    Комментарии (41)
  9. PHP / Говнокод #17067

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    // где то: 
    $_SESSION['type_school'] = $db->query("SELECT * FROM ou_type ",array(),'kassoc');
    
    // а потом:
    $smarty->assign('type_school',$_SESSION['type_school']);
    
    //и в шаблоне:
    <td>{$type_school[$v.base_type].type_name}</td>

    $v.base_type - тоже результат запроса. Left/Right/Inner Join - не, не слышал...

    А потом: чёта проект тормозит...
    Я так подозреваю кто то таким методом оптимизацию и кеширование сделал, ну чтобы бд лишний раз не грузить.. Не, ну, а чё, зачем каждый раз базу данных мучить при открытии одной! странички со списком *****, давайте одну таблицу-справочник из бд откопируем каждому пользователю в его сессию отдельно и будем читать его при каждом session_start даже если на текущей странице нам этот справочник не нужен.

    vGhost, 05 Ноября 2014

    Комментарии (12)
  10. Java / Говнокод #17066

    +79

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Object o1 = true ? Integer.valueOf(1) : Double.valueOf(2.0);
    Object o2;
    
    if (true) {
    	o2 = Integer.valueOf(1);
    } else {
    	o2 = Double.valueOf(2.0);
    }
    
    System.out.println(o1);
    System.out.println(o2);

    Такие вот в Java интересные типы-обёртки.

    Проверить себя: http://ideone.com/BrhREq

    Источник: http://java.dzone.com/articles/10-things-you-didnt-know-about

    someone, 05 Ноября 2014

    Комментарии (79)