1. Список говнокодов пользователя Frederica_Bernkastel

    Всего: 3

  2. JavaScript / Говнокод #21602

    −47

    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
    /* Задача такова: пользователь может по своему вкусу настраивать дизайн приложения (шрифт, фон и т.д.)
     * При этом, 
     * 1. настройки должны применяться мгновенно, 
     * 2. сохраняться после перезагрузки 
     */
    
    // Было сделано так:
    // Клиент собирает информацию со всех крутилочек, и генерирует JSON-репрезентацию CSS в подобном формате: 
    
    css_data = [
      {selector : 'body', css : {'color' : 'rgb(255, 179, 0)','background' : '#4D3339 url(../images/bg134.png) repeat scroll 0 0'}}, 
      {selector : '#omv table', css : {'box-shadow' : 'rgba(0, 0, 0, 0.4) 0px 0px 9px 2px'}},
      {selector : '.well,.info', css : {'background-color' : 'rgba(66, 31, 105, 0.46)'}}
      ];
      
    // Таким нехитрым образом применяется на страницу:
    
    $.css = function ( query, propertyObject )
    {
      var elements = document.querySelectorAll(query);
      for (var i = 0; i < elements.length; i++) 
        for (var property in propertyObject){
          elements[i].style[property] = propertyObject[property];
        }
    }
    
    css_data.map(function(data){
      $.css(data.selector, data.css)
    });
    
    // И сразу же отправляется на сервер (в БД).
    // Тут начинается самый сок - генерация CSS на PHP, который будет выведен на страницу в следующий раз:
    
    function JSON2CSS($data){
      $json = json_decode($data, true);
      $result = "<style type=\"text/css\">";
      foreach($json as &$rule){
        $result .= $rule['selector'].'{';
        $props = array_keys($rule['css']);
        foreach($props as $property)
          $result .= $property . ':' . $rule['css'][$property] . ';';
        $result .= '}';
      }
      $result .= "</style>";
      return $result;
    }

    Frederica_Bernkastel, 29 Октября 2016

    Комментарии (21)
  3. JavaScript / Говнокод #21583

    −47

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    let playerHTML5 = `
      <${this.music?"audio":"video height='360' class='video-js vjs-sublime-skin' id='video'"} width="640" controls>
        <source src="${data.playlist[1].url}" id="src" type="${this.music?"audio/mpeg":"video/mp4"}">
        Плеер нер работает. Возможно, ваш браузер устарел.
      </${this.music?"audio":"video"}>
      ${(!this.music && !isEmpty(this.chapters[index].ext_audio))?'<audio id="audio" controls> \
         <source src="" type="audio/mp3"> \
      </audio>':''}
      `;

    Это ES6, детка. Теперь мы можем написать строку внутри строки внутри строки!

    Frederica_Bernkastel, 27 Октября 2016

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

    −43

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    self.chapters[i].caption = !self.section ? self.music ? self.ids[i].id3 != undefined && 
      self.ids[i].id3.tags != null && self.ids[i].id3.tags.title ? self.ids[i].id3.tags.title[0] : 
      "Трек " + counter : "Серия " + counter : self.section + self.music ? self.ids[i].id3 != undefined && 
      self.ids[i].id3.tags != null && self.ids[i].id3.tags.title ? self.ids[i].id3.tags.title[0] : 
      self.music ? "Трек " + counter : self.section + " - Серия " + counter : " - серия " + counter; // <-- fking shit!

    Многоуровневые тернарники. Чтоб жизнь мёдом не казалась.

    Frederica_Bernkastel, 27 Октября 2016

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