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

    +3

    1. 1
    $this->pass_change_token = md5($this->id . "sdkfjgllfdlk" . time() . $this->domain_id . rand(1000, 9000) . $this->email);

    Генерируем токен для смены пароля пользователя.

    jbot, 07 Декабря 2015

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

    +5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    if ($template)             // BAD
    if (isset($template))      // GOOD
    if ($template !== NULL))   // GOOD
    if ($template !== ''))     // GOOD
    
    if (strlen($template) > 0) // BAD! strlen("-1") is greater than 0
    if (is_string($template) && strlen($template) > 0) // BETTER
    
    if ($foo == $bar)          // BAD, avoid truthy comparisons
    if ($foo != $bar)          // BAD, avoid falsy comparisons
    if ($foo === $bar))        // GOOD
    if ($foo !== $bar))        // GOOD
    
     // We only allow valid persons
    if (is_object($p) && strlen($p->lastN) > 0 && $p->hidden === FALSE && $this->environment->moonPhase === MOON_LIB::CRESCENT) {
     $xmM = $thd;
    }
    
    if ($this->isValidPerson($person) {
      $xmM = $thd;
    }

    Решил погуглить гайдлайны по PHP: http://flowframework.readthedocs.org/en/stable/TheDefinitiveGuide/PartV/CodingGuideLines/PHP.html

    HiNeX, 07 Декабря 2015

    Комментарии (25)
  3. PHP / Говнокод #19143

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    $sql = "SELECT * FROM users WHERE id='" . $id . "'";
                    $query = db_assoc( $sql );
                    unset( $query['id'], $r['openid'], $query['password'], $query['refer'] );
                    $_SESSION['inform'] = $query;

    Я просто оставлю это здесь

    drop_database, 06 Декабря 2015

    Комментарии (0)
  4. JavaScript / Говнокод #19141

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    this.listenTo(App.vent, 'chat:newMessage', function(data) {
        if (!chatList.length && (data.Author.Id !== App.userModel.id)) {
            this.addNewChat(UsersList.get(data.Author.Id));
            this.createMessagesCollection(data.Author.Id);
            App.allMessages[data.Author.Id].add(data);
            this.addUnreadCount(data.Author.Id);
            this.showAllChats();
            this.showCurrentChat(App.allMessages[this.chatId]);
        } else if (data.Author.Id !== App.userModel.id) {
            this.addUnreadCount(data.Author.Id);
            !App.allMessages[data.Author.Id] && this.createMessagesCollection(data.Author.Id);
            App.allMessages[data.Author.Id].add(data);
            this.showAllChats();
        } else {
            !App.allMessages[this.chatId] && this.createMessagesCollection(this.chatId);
            App.allMessages[this.chatId].add(data);
            this.showAllChats();
        }
        if (data.Author.Id !== App.userModel.id) {
            App.vent.trigger("chat:newMessageToMe", data);
            App.allMessages[self.chatId].readMessages();
            setTimeout(function() {
                chatList.get(self.chatId).set({
                    UnreadCount: 0
                });
                App.vent.trigger('chat:messagesread', self.chatId);
                self.showAllChats();
            }, 1500);
        }
    });

    InTheArmyNow, 06 Декабря 2015

    Комментарии (0)
  5. JavaScript / Говнокод #19140

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    validate: function(elem) {
        var name = elem.attr('name'),
            self = this,
            err = elem.find('.registration-form-error'),
            inp = elem.find('input'),
            introForm = $('.registration-intro-form'),
            r;
        if (elem.attr('type') === 'radio') {
            return true
        };
        elem.next().hide();
        if (name === 'newpassword' || name === 'newpasswordrepeat') {
            if ((r = this.validatePassword(elem)) && r.err) {
                elem.addClass('error');
                elem.next().show().html(r.err);
                elem.focus();
            } else {
                elem.removeClass('error');
                return true;
            }
        } else if (name === 'email') {
            if ((r = this.validateEmail(elem)) && r.err) {
                elem.addClass('error');
                elem.next().show().html(r.err);
                elem.focus();
            } else if (r) {
                elem.removeClass('error');
                return true;
            }
        } else if (name === 'name') {
            if ((r = this.validateName(elem)) && r.err) {
                elem.addClass('error');
                elem.next().show().html(r.err);
                elem.focus();
            } else if (r) {
                elem.removeClass('error');
                return true;
            }
        } else if (name === 'city-autocomplete') {
    
            var CityId = $('input[name="CityId"]').val();
    
            if (CityId === "") {
                elem.addClass('error');
                elem.next().show().html("Выберите город из списка");
                elem.focus();
            } else {
                elem.removeClass('error');
                return true;
            }
        }
    },

    InTheArmyNow, 06 Декабря 2015

    Комментарии (0)
  6. JavaScript / Говнокод #19139

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try {
            renderer = new THREE.WebGLRenderer({ antialias: true, preserveDrawingBuffer: !!navigator.userAgent.match(/Trident.*rv[ :]*11\./) });
        } catch (mammothFeces) {
            renderer = new THREE.CanvasRenderer();
        }

    клиент тестирует на сафари 5. а я думал, ие11 (/Trident.*rv[ :]*11\./) это худшее, что случится на проекте

    makc3d, 04 Декабря 2015

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $a=array();
    for($i=0;$i<100;$i++){
     $t=rand(1,100);
     $a[$t]=$t;
    }

    Решение задачи из теста на пригодность в джуны.
    Сама задача была поставлена так:

    "Нужно объявить массив, в цикле от 1 до 100 заполнить его случайными цифрами (тоже от 1го до 100), и в итоге получить массив с уникальными значениями, реализовать минимальным кол-вом строк. "

    Шедевральная наркомания.

    Twissel, 04 Декабря 2015

    Комментарии (23)
  8. JavaScript / Говнокод #19132

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for(var i=0; i<data.length; i++) {
    	…
    	self._markerList[data[i].r_osm_id].GOZ.arrRowNum[self._markerList[data[i].r_osm_id].GOZ.arrRowNum.length] = parseInt(i);
    	self._markerList[data[i].r_federal_osm_id].GOZ.arrRowNum[self._markerList[data[i].r_federal_osm_id].GOZ.arrRowNum.length] = parseInt(i);
    	self._markerList[0].GOZ.arrRowNum[self._markerList[0].GOZ.arrRowNum.length] = parseInt(i);
    }

    Это parseInt умилительно. Нет, со счётчиком ничего внутри цикла не делается. Но а вдруг?

    torbasow, 04 Декабря 2015

    Комментарии (2)
  9. Куча / Говнокод #19131

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    Del1 = fun(K,[A|B],F,Acc) ->
    if
    not(is_list(A)) and (B==[]) and (A rem K == 0) -> Acc;
    not(is_list(A)) and (B==[]) -> [A|Acc];
    not(is_list(A)) and is_list(B) and (A rem K == 0) -> F(K,B,F,Acc);
    not(is_list(A)) and is_list(B) -> F(K,B,F,[A|Acc])
    end
    end.
    D=[10,22,34,45,52,60,75].
    Del1(5,D,Del1,[]).

    Студент сдал по Функциональному программированию (написано на Erlang, работает).
    Функция удаляющая из списка эл-ты кратные 1му аргументу.

    vt244, 04 Декабря 2015

    Комментарии (100)
  10. JavaScript / Говнокод #19130

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $(".tabs_nav-item").click ->
        if($(this).hasClass("_active")) 
        else 
          $this = $(this)
          target = $(this).attr("href")
          $this.addClass("_active").siblings("._active").removeClass("_active")
          $(target).addClass("_active").siblings("._active").removeClass("_active")

    LOL
    P.S. coffeescript

    Crazyzubr, 03 Декабря 2015

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