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

    +50

    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
    public function getFilename($filename) {
            $string = ereg_replace("ж", "zh", $filename);
            $string = ereg_replace("ё","yo",$string);
            $string = ereg_replace("и", "i",$string);
            ......
    
            $string = ereg_replace("Т","T",$string);
            $string = ereg_replace("Б","B",$string);
            
            $string = ereg_replace(" ","_",$string);
            $filename = preg_replace("/[^\w\.\-_]/","",$string);
            
            return strtolower($filename);
        }

    UnnamedUser, 01 Декабря 2012

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

    +6

    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
    template <typename T, size_t rows, size_t cols>
    class Matrix {
    public:
        Matrix() :
            m_matrix(reinterpret_cast<T*>(new char[sizeof(T) * rows * cols]))
        {
            memset(m_matrix, 0, sizeof(T) * rows * cols);
            new (m_matrix) T[rows * cols];
    
            if ( rows == cols ) {
                for ( size_t i = 0; i < rows; i++ )
                    m_matrix[i * cols + i] = 1; // FIXME: this is hack
            }
    
        }
    
        // ...
    private:
        T *m_matrix;
    };

    Из прошлого куска.

    Инициализируем память нулями. А вдруг тип скалярный? :)

    Elvenfighter, 01 Декабря 2012

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

    +10

    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
    template <typename T, size_t rows, size_t cols>
    class Matrix {
    public:
        Matrix() :
            m_matrix(new T[rows * cols])
        {
            // Make identity matrix, if possible
            if ( rows == cols ) {
                for ( size_t i = 0; i < rows; i++ )
                    m_matrix[i * cols + i] = 1; // FIXME: this is hack
            }
    
        }
    
        // ...
    
        Matrix<T, rows, cols>& operator =(Matrix<T, rows, cols> &&other) {
            if ( this != &other ) {
                delete [] m_matrix;
                m_matrix = other.m_matrix;
    
                other.m_matrix = new T[cols * rows];
                other = static_cast<const Matrix&>(Matrix());
            }
    
            return *this;
        }
    
        // ...
    };

    Издержки move construtor :)

    Прошу внимания к строчкам 19-23

    Elvenfighter, 30 Ноября 2012

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

    +14

    1. 1
    int main(){(([](){})());}

    preview.tinyurl.com/blrtfuo
    ideone.com/BXrXDR
    Или еще чуть веселее:
    ideone.com/C425yo

    Xom94ok, 30 Ноября 2012

    Комментарии (10)
  5. bash / Говнокод #12229

    −127

    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
    #!/bin/bash
    set -e
    
    KEHU_FILE=kehu_ruikemei
    
    echo "*************"
    echo "rm logo_linux_clut224"
    echo "*************"
    find drivers/video/logo/ -name logo_linux_clut224.o -exec rm -f {} \;
    find drivers/video/logo/ -name logo_linux_clut224.c -exec rm -f {} \;
    find drivers/video/logo/ -name logo_linux_clut224.ppm -exec rm -f {} \;
    
    echo "***********************"
    echo "copy logo_linux_clut224.ppm"
    echo "***********************"
    cp $KEHU_FILE/logo_linux_clut224.ppm drivers/video/logo/
    
    echo "***********************"
    echo "make kernel.img"
    echo "***********************"
    make kernel.img -j4
    
    echo "***********************"
    echo "return origin files"
    echo "***********************"
    find drivers/video/logo/ -name logo_linux_clut224.o -exec rm -f {} \;
    find drivers/video/logo/ -name logo_linux_clut224.c -exec rm -f {} \;
    git checkout -- drivers/video/logo/logo_linux_clut224.ppm
    
    echo "return origin files success!!!"

    Скрипт в корне исходников ядра linux для Rockchip RK3066.

    Necromant, 30 Ноября 2012

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

    +107

    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
    //  define types
    const int FB2 = 0;
    const int TXT = 1;
    
    // private
    private int Type;
    …
    
    //  class methods
    public CVBook(string path, string type) {
        switch(type)
        {
            case "fb2":
                {
                    Type = 0;
                }
                break;
            case "txt":
                {
                    Type = 1;
                }
                break;
            default:
                {
                    throw new Exception("Unknown Book Format");
                }
        }
        …
        switch (Type) {
            case FB2: { … }
            case TXT: { … }
            default:
                {
                    throw new Exception("Unknown Book Format");
                }
            }
        }
    }

    Парсер книг, все в одном методе.

    ArtFeel, 30 Ноября 2012

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

    +106

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    private void FlowMouseEnter(object sender, MouseEventArgs e)
    {
        var dt = DateTime.Now;
        _currentTime = dt.Hour * 3600 + dt.Minute * 60 + dt.Second;
    }

    запоминаем время наведения на кнопку

    ArtFeel, 30 Ноября 2012

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

    +2

    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
    template <typename A, typename B> 
    class ololo 
    {
    };
    
    template <typename A>
    class ololo <A, int>
    {
    };
    
    template <typename A>
    void bububu ()
    {
    }
    
    template <>
    void bububu <int> ()
    {
    }
    
    template <typename A, typename B> 
    void kokoko  ()
    {
    }
    
    template <typename A>
    void kokoko <A, int> ()
    {
    }

    http://www.gamedev.ru/flame/forum/?id=169781
    tarasboproblemi

    LispGovno, 29 Ноября 2012

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

    +19

    1. 1
    2. 2
    3. 3
    4. 4
    Class1* c1 = (Class1*)malloc(sizeof(Class1)*N);
    Class2* c2 = (Class2*)malloc(sizeof(Class2)*N);
    for (long i = 0; i < N; i++) c1[i] = Class1();
    for (long i = 0; i < N; i++) c2[i] = Class2();

    Рассказать ему про new[] / delete[]?

    runewalsh, 29 Ноября 2012

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

    +140

    1. 1
    if (maxWidth < 96) {maxWidth = 96 }

    Большой Брат следит за тобой, переменная.

    BYDLOCOD, 29 Ноября 2012

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