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

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

    +128

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public static Boolean GetAttBool(XmlNode node, string attName)
     {
         long value = GetAttLong(node, attName);
          return value == 1 ? true: false;
     }

    uaavg, 16 Февраля 2011

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

    +162

    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
    public static function perform($table, $data, $action = 'insert', $parameters = '') {
    		reset($data);
    		if ($action == 'insert') {
    			$query = 'INSERT INTO ' . $table . ' (';
    			while (list($columns, ) = each($data)) {
    				$query .= $columns . ', ';
    			}
    			$query = substr($query, 0, -2) . ') values (';
    			reset($data);
    			while (list(, $value) = each($data)) {
    				switch ((string)$value) {
    					case 'now()':
    						$query .= 'NOW(), ';
    						break;
    					case 'null':
    						$query .= 'NULL, ';
    						break;
    					default:
    						$query .= '\'' . mysql_escape_string($value) . '\', ';
    						break;
    				}
    			}
    			$query = substr($query, 0, -2) . ')';
    		} elseif ($action == 'update') {
    			$query = 'UPDATE ' . $table . ' SET ';
    			while (list($columns, $value) = each($data)) {
    				switch ((string)$value) {
    					case 'now()':
    						$query .= $columns . ' = NOW(), ';
    						break;
    					case 'null':
    						$query .= $columns .= ' = NULL, ';
    						break;
    					default:
    						$query .= $columns . ' = \'' . mysql_escape_string($value) . '\', ';
    						break;
    				}
    			}
    			$query = substr($query, 0, -2) . ' WHERE ' . $parameters;
    		}
    
    		self::request($query);
    	}

    Вот так у нас вставляют в базу :)

    wmmorgun, 15 Февраля 2011

    Комментарии (11)
  4. Pascal / Говнокод #5665

    +103

    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
    glpushmatrix;
    if ((commandflat=2)and((commandaxis=2) or(commandaxis=3)))or((commandflat=1)and(commandaxis=1)) then
     glrotatef(faza,rotation[0],rotation[1],rotation[2]);
    
      glcolor3f(kubcol[Y[2,1,1]].R,kubcol[Y[2,1,1]].G,kubcol[Y[2,1,1]].B);
     glbegin(gl_quads);
      glvertex3f(-1.5,1.5,1.5);
      glvertex3f(-1.5,1.5,0.5);
      glvertex3f(-0.5,1.5,0.5);
      glvertex3f(-0.5,1.5,1.5);
     glend;
     glcolor3f(kubcol[X[1,1,1]].R,kubcol[X[1,1,1]].G,kubcol[X[1,1,1]].B);
     glbegin(gl_quads);
      glvertex3f(-1.5,1.5,1.5);
      glvertex3f(-1.5,1.5,0.5);
      glvertex3f(-1.5,0.5,0.5);
      glvertex3f(-1.5,0.5,1.5);
     glend;
     glcolor3f(kubcol[Z[2,1,1]].R,kubcol[Z[2,1,1]].G,kubcol[Z[2,1,1]].B);
     glbegin(gl_quads);
      glvertex3f(-1.5,1.5,1.5);
      glvertex3f(-0.5,1.5,1.5);
      glvertex3f(-0.5,0.5,1.5);
      glvertex3f(-1.5,0.5,1.5);
     glend;
     glcolor3f(0.5,0.5,0.5);
     glbegin(gl_quads);
      glvertex3f(-1.5,0.5,1.5);
      glvertex3f(-1.5,0.5,0.5);
      glvertex3f(-0.5,0.5,0.5);
      glvertex3f(-0.5,0.5,1.5);
     glend;
     glcolor3f(0.5,0.5,0.5);
     glbegin(gl_quads);
      glvertex3f(-0.5,1.5,1.5);
      glvertex3f(-0.5,1.5,0.5);
      glvertex3f(-0.5,0.5,0.5);
      glvertex3f(-0.5,0.5,1.5);
     glend;
     glcolor3f(0.5,0.5,0.5);
     glbegin(gl_quads);
      glvertex3f(-1.5,1.5,0.5);
      glvertex3f(-0.5,1.5,0.5);
      glvertex3f(-0.5,0.5,0.5);
      glvertex3f(-1.5,0.5,0.5);
     glend;
    glpopmatrix;
    ///////112

    Захотел как то кубик рубика накодить, это фрагмент модуля из 1214 строк который выводит 26 кубиков. Цвет лицевых граней берется из массива, остальные - серые.

    Dent, 14 Февраля 2011

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

    +175

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    template<class Exception>
    bool GenerateException(const Exception* const e)
    {
    	throw e;
    	delete e;
    	return true;
    }

    Продолжение цикла говнокодов про исключения из того же самого проекта.
    Проблем от неё почти нет, тк в основном исключения генерятся так:

    ExceptionТакойто e;
    GenerateException(&e);

    Говногость, 10 Февраля 2011

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

    +161

    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
    # Добавление пользователя
    	if ($_GET['action'] == "add_user" OR $_POST['action'] == "add_user"){
    		#Проверяем достаточно ли прав на добавление пользователя
    		$pal = 15;
    		if (access_level() < $pal) {
    			echo "Извените, у вас недостаточно прав для данной операции<br>";
    			echo "Ваш уровень ".access_level()." а доступ возможен только с ".$pal."<br>";
    		}
    		else{
    		echo "Уровень доступа - $pal<br>";
    		echo "<form action=\"index.php\" method=\"post\">\n";
    		echo "<select name=type><option value=1>support<option value=2>installer</select><br>";
    		echo "Логин ( первая буква имени + фамилия (en))  <input type=\"text\" name=\"add_username\"><Br> passwd <input type=\"password\" name=\"add_passwd\"><Br>\n access_level <input type=text name=access_level><br>\n";
    		echo "Полное имя (Фамилия, Имя, [Отчество]) <input type=\"text\" name=\"add_full_name\"><br>";
    		echo "Телефон (только 10 цифр, без +7, 8 и т.п.) <input type=\"text\" name=\"add_phone\"><Br>";
    		echo "<input type=\"hidden\" name=\"action\" value=\"add_user\">\n";
    		echo "<input type=\"submit\" name=\"submit\" value=\"add\"><br>\n</form>";
    
    		$add_name=mysql_real_escape_string($_POST['add_username']);
    		$add_pass=mysql_real_escape_string($_POST['add_passwd']);
    		$add_full_name=mysql_real_escape_string($_POST['add_full_name']);
    		$add_phone=mysql_real_escape_string($_POST['add_phone']);
    		$add_access_level=mysql_real_escape_string($_POST['access_level']);
    		$add_pass = md5($add_pass);
    		if($_POST['type'] == "1"){
    			echo $add_name."-".$add_pass."-".$add_access_level."<br>";
    			$sql = 'INSERT INTO `switches`.`creators` (`id`, `name`, `passwd`, `access_level`, `descr`, `creator`, `create_date`) VALUES (\'\', \''.$add_name.'\', \''.$add_pass.'\', \''.$add_access_level.'\', \'\', \''.$_SESSION['user_id'].'\', NOW());';
    			mysql_query($sql,$dbutm);
    			echo "<br>Пользователь добавлен.<Br>";
    		}
    		elseif($_POST['type'] == "2"){
    			$sql = 'INSERT INTO `switches`.`installers` (`id`, `name`, `full_name`, `passwd`, `access_level`, `descr`, `creator`, `create_date`, `phone`) VALUES (\'\', \''.$add_name.'\', \''.$add_full_name.'\', \''.$add_pass.'\', \''.$add_access_level.'\', \'\', \''.$_SESSION['user_id'].'\', NOW(), \''.$add_phone.'\');';
    			mysql_query($sql,$dbutm);
    			echo "<br>Монтажник добавлен.<Br>";
    		}
    	}
    }

    Система биллинга. Начинаю нервничать...

    Gogogo, 08 Февраля 2011

    Комментарии (11)
  7. Perl / Говнокод #5550

    −119

    1. 1
    2. 2
    3. 3
    4. 4
    foreach $line (@data) {
    			@alldata = 0;
    			unshift @alldata;
    			@alldata = split(/\|/, $line);

    Инициализация массива.

    da4ever, 06 Февраля 2011

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

    +162

    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
    class Recode
    {
    private:
    	union
    	{
    		INT16U gg;
    		unsigned char g[2];
    	};
    public:
    	Recode(INT16U a)		
    	{
    		gg=a;
    	};
    
    	void recode(void)
    	{
    		coding->recodeArray(g[0], g[1]);
    	}
            //Куча других методов:
            ...
    };
    
    /*#define C Recode
    Recode a[]={1, C(3,4),  2, 34, C(98,23)};
    #undef C*/
    
    #define _ +256*
    Recode a[]={1 , 3 _ 4 , 56 , 0 _ 56};
    #undef _

    Идея интересная, но не для реального кода. :)

    Говногость, 04 Февраля 2011

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

    +114

    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
    public IQueryable<Log> Select(Context context)
            {
                // Return list of entities
                return (from l in context.Logs select l);
            }
    
            /// <summary>
            /// Fetch page from Log table
            /// </summary>
            /// <param name="nStartRowIndex">Starting index of rows to fetch</param>
            /// <param name="nMaxRows">Max number of rows</param>
            /// <returns>IEnumerable of Log</returns>
            public List<Log> SelectPage(int nStartRowIndex, int nMaxRows, 
                                        string strProperty, string strKeyword,
                                        string strSort, string strSortDirection, 
                                        out int nTotalCount)
            {            
                using (Context context = new Context())
                {
                    var q = Select(context).Take (1000);
                 }
          }

    Коллега на работе наворотил...

    Katsy, 04 Февраля 2011

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

    +84

    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
    /*
     * Copyright 2003-2009 the original author or authors.
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *     http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    package org.codehaus.groovy.runtime;
    
    
    public class ArrayUtil {
        private static final Object[] EMPTY = new Object[0]
                ;
    
        public static Object[] createArray() {
            return EMPTY;
        }
    
        public static Object[] createArray(Object arg0) {
            return new Object[]{
                    arg0};
        }
    
        public static Object[] createArray(Object arg0, Object arg1) {
            return new Object[]{
                    arg0, arg1};
        }
    
        public static Object[] createArray(Object arg0, Object arg1, Object arg2) {
            return new Object[]{
                    arg0, arg1, arg2};
        }
    .......................................................
    
        public static Object[] createArray(Object arg0, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14, Object arg15, Object arg16, Object arg17, Object arg18, Object arg19, Object arg20, Object arg21, Object arg22, Object arg23, Object arg24, Object arg25, Object arg26, Object arg27, Object arg28, Object arg29, Object arg30, Object arg31, Object arg32, Object arg33, Object arg34, Object arg35, Object arg36, Object arg37, Object arg38, Object arg39, Object arg40, Object arg41, Object arg42, Object arg43, Object arg44, Object arg45, Object arg46, Object arg47, Object arg48, Object arg49, Object arg50, Object arg51, Object arg52, Object arg53, Object arg54, Object arg55, Object arg56, Object arg57, Object arg58, Object arg59, Object arg60, Object arg61, Object arg62, Object arg63, Object arg64, Object arg65, Object arg66, Object arg67, Object arg68, Object arg69, Object arg70, Object arg71, Object arg72, Object arg73, Object arg74, Object arg75, Object arg76, Object arg77, Object arg78, Object arg79, Object arg80, Object arg81, Object arg82, Object arg83, Object arg84, Object arg85, Object arg86, Object arg87, Object arg88, Object arg89, Object arg90, Object arg91, Object arg92, Object arg93, Object arg94, Object arg95, Object arg96, Object arg97, Object arg98, Object arg99, Object arg100) {
            return new Object[]{
                    arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21, arg22, arg23, arg24, arg25, arg26, arg27, arg28, arg29, arg30, arg31, arg32, arg33, arg34, arg35, arg36, arg37, arg38, arg39, arg40, arg41, arg42, arg43, arg44, arg45, arg46, arg47, arg48, arg49, arg50, arg51, arg52, arg53, arg54, arg55, arg56, arg57, arg58, arg59, arg60, arg61, arg62, arg63, arg64, arg65, arg66, arg67, arg68, arg69, arg70, arg71, arg72, arg73, arg74, arg75, arg76, arg77, arg78, arg79, arg80, arg81, arg82, arg83, arg84, arg85, arg86, arg87, arg88, arg89, arg90, arg91, arg92, arg93, arg94, arg95, arg96, arg97, arg98, arg99, arg100};
        }

    вот такой он - groovy

    xXx_totalwar, 02 Февраля 2011

    Комментарии (11)
  11. PHP / Говнокод #5414

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($redir < 0) {
    
    } else {
    
     echo $redir."\t";
         echo "
    ";

    Бывает даже и такое :(

    isergey, 27 Января 2011

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