1. Лучший говнокод

    В номинации:
    За время:
  2. Java / Говнокод #14417

    +75

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ObservableStorage.ConfigurationTuple<Integer, ObservableStorage.ConfigurationTuple<Foo, ObservableStorage.ConfigurationTuple<Foo, ObservableStorage.ConfigurationEnd>>> build = RemoteObservableStorage
            .configurationBuilder()
            .use("foo").as(Foo.class)
            .use("foo1").as(Foo.class)
            .use("ids").as(Integer.class)
            .build();

    И тут Остапа понесло :)
    Всем тайп сейфити посоны

    myzone, 26 Января 2014

    Комментарии (30)
  3. C# / Говнокод #14286

    +138

    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
    /// generic Singleton<T> (потокобезопасный с использованием generic-класса и с отложенной инициализацией)
     
    /// <typeparam name="T">Singleton class</typeparam>
    public class Singleton<T> where T : class
    {
      /// Защищённый конструктор необходим для того, чтобы предотвратить создание экземпляра класса Singleton. 
      /// Он будет вызван из закрытого конструктора наследственного класса.
      protected Singleton() { }
     
      /// Фабрика используется для отложенной инициализации экземпляра класса
      private sealed class SingletonCreator<S> where S : class
      {
        //Используется Reflection для создания экземпляра класса без публичного конструктора
        private static readonly S instance = (S) typeof(S).GetConstructor(
                    BindingFlags.Instance | BindingFlags.NonPublic,
                    null,
                    new Type[0],
                    new ParameterModifier[0]).Invoke(null);
     
        public static S CreatorInstance
        {
          get { return instance; }
        }
      }
     
      public static T Instance
      {
        get { return SingletonCreator<T>.CreatorInstance; }
      }
     
    }
     
    /// Использование Singleton
    public class TestClass : Singleton<TestClass>
    {
        /// Вызовет защищенный конструктор класса Singleton
        private TestClass() { }
     
        public string TestProc()
        {
            return "Hello World";
        }
    }

    Код из Википедии. Создание синглтона на шарпике с излишествами и извращениями

    В самом деле, кому нужна инкапсуляция, нам же нужен синглтон

    P.S может я чего не понимаю.

    kegdan, 26 Декабря 2013

    Комментарии (30)
  4. PHP / Говнокод #14271

    +156

    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
    53. 53
    54. 54
    55. 55
    class StaticArray { // TO DO: add float, char, double
    private $min = 0;
    private $lengch = 0;
    private $max = 0;
    private $array = array();
    function __construct($lengch,$type) {
    if (!is_numeric($lengch) || $type != 'int'&& $type != 'long'&& $type != 'byte'&& $type != 'short'){  
    echo "BAD ARRRAY TYPE OR LENGCH!\n";
    return false;
    }
    $this->lengch = $lengch;
    switch ($type){
    case 'int':
    $this->min = -2147483647;
    $this->max = 2147483648;
    break;
    case 'byte':
    $this->min = -127;
    $this->max = 128;
    break;
    case 'short':
    $this->min = -32768;
    $this->max = 32767;
    break;
    case 'long':
    $this->min = -9223372036854775808;
    $this->max = 9223372036854775807;
    break;
    }
    for ($i=0;$i < $lengch;$i++){
    $this->array[$i] = 0;
    }
    }
     function add ($vaule,$num){
     if ($vaule >= $this->max || $vaule <= $this->min || !is_numeric($num) || $num < 0 || $num >= $this->lengch){
     echo "Not valid vaule!\n";
     return false;
     }
     $this->array[$num] = $vaule;
    }
     
     function ToNormalArray (){
     return $this->array;
     }
     function get ($num){
     if ($num >= $this->lengch || $num < 0){
     echo "BAD ARRAY INDEX\n";
     return false;
     }
     return $this->array[$num];
     }
     function GetLengch(){
     return $this->lengch; 
    }
    }

    Обнаружил в исходниках одного из сайтов который разрабатывал. Предыдущий кодер действительно этим ползовался! Особенно умиляет метод ToNormalArray().

    zadrot, 25 Декабря 2013

    Комментарии (30)
  5. C++ / Говнокод #14084

    +18

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    std::string MetaInfo::SetField() {
      return m_value;
    }
    
    /* ... */
    
    std::string value = meta.SetValue();

    Йода-стайл. Переменную эту, хочешь установить ты.

    JeremyW, 08 Ноября 2013

    Комментарии (30)
  6. C# / Говнокод #13864

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    public static string Guid_GetAnimalUniqueNameToString(int i)
    {
    	return string.Format("{0}{0}{0}{0}{0}{0}{0}{0}-{0}{0}{0}{0}-{0}{0}{0}{0}-{0}{0}{0}{0}-{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", i);
    }

    Этот код мне знакомый скинул, говорит в цикле for сюда передавались значения :-)

    Smekalisty, 27 Сентября 2013

    Комментарии (30)
  7. Java / Говнокод #13808

    +114

    1. 1
    Ranges.closedOpen(0, list.size()).asSet(DiscreteDomains.integers())

    Самый простой известный мне способ сделать аналог питоновского range(len(list)). Даже с Guava.

    someone, 18 Сентября 2013

    Комментарии (30)
  8. Java / Говнокод #13776

    +77

    1. 1
    float a = Float.parseFloat(new_size + "");

    Приведение дабла ко флоту.

    Vladiator, 11 Сентября 2013

    Комментарии (30)
  9. Pascal / Говнокод #13692

    +136

    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
    type
        Potok = class(TThread)
      private
        FAcc : string;
        FPas : string;
        Ip   : string;
        Port : string;
        Rez  : Integer;
      protected
        procedure Execute; override;
      public
        procedure Sync;
        constructor Create(CreateSuspended: Boolean);
      end;
    
    var
      Form2: TForm2;
      Accounts, Proxy:Tstringlist;
      Thread, Acc:integer;
      Work:boolean;
      CS:TcriticalSection;
      GoodFile, BadFile: textfile;
      tp:integer;
      Balance, Login, Email:string;
      UserAg: array [0..20] of string=(
        'Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.2) Gecko/20010726 Netscape6/6.1',
        'Mozilla/5.0 (Windows; U; Win9x; en; Stable) Gecko/20020911 Beonex/0.8.1-stable',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.2.153.1 Safari/525.19',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.4/Megaupload 3.0',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.452) Gecko/20041027 Mnenhy/0.6.0.104',
        'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; iRider 2.21.1108; FDM)',
        'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MathPlayer2.0)',
        'Mozilla/5.0 (Windows; U;XMPP Tiscali Communicator v.10.0.1; Windows NT 5.1; it; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3',
        'Mozilla/5.0 (X11; U; Linux 2.4.2-2 i586; en-US; m18) Gecko/20010131 Netscape6/6.01',
        'Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.7.6) Gecko/20050405 Epiphany/1.6.1 (Ubuntu) (Ubuntu package 1.0.2)',
        'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.3) Gecko/20010801',
        'Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',
        'Mozilla/5.0 (Linux; U; Android 2.2; en-us; DROID2 GLOBAL Build/S273) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',
        'Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; E10i Build/2.0.2.A.0.24) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17',
        'Mozilla/5.0 (Linux; U; Android 2.2; nl-nl; Desire_A8181 Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',
        'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Google Wireless Transcoder;)',
        'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; Xbox)',
        'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)',
        'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0; InfoPath.2; InfoPath.3)',
        'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; winfx; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Zune 2.0)',
        'Mozilla/4.0 (compatible; MSIE 5.01; Windows 95; MSIECrawler)'
      );
    
    implementation
    
    {$R *.dfm}

    Бля, говорят же, что нельзя пить и курить марихуану перед зачатием детей, иначе родятся наркоманами.

    Stertor, 28 Августа 2013

    Комментарии (30)
  10. 1C / Говнокод #13436

    −126

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Функция ЗначениеСвойства(Объект, ИмяСвойства) Экспорт
    	
    	Возврат Объект[ИмяСвойства]
    	
    КонецФункции

    Пипец полезная функция!

    doom2good, 17 Июля 2013

    Комментарии (30)
  11. C# / Говнокод #13276

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    protected Boolean GetStatus(VinRequestStatusId statusId, Int16 id)
    {
    	if(statusId == VinRequestStatusId.CarDataNeeded && id == 0)
    		return true;
    	if(statusId == VinRequestStatusId.WaitingClientAnswer && id == 1)
    		return true;
    	return false;
    }

    Разработчику гуя лень было лезть в DAL. Наложил прямо на форме.

    TauSigma, 01 Июля 2013

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