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

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

    +93

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function THero.getMinimalJsonData():SOString;
    begin
      Result := '{"username":"'+name+
                  '","userid":'+IntToStr(id)+
                  ',"level":'+IntToStr(general.level)+
                  ',"creditstate":'+IntToStr(TTransfer.calcCreditState(general.creditPoints,general.level,general.creditFine))+
                  ',"sign":"'+addiction.GetS('sign')+'"}';
    end;

    Использовать готовый класс? Не только в строку руками, только хардкор.

    Cynicrus, 05 Апреля 2015

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

    +59

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    int getObjectsCount() const { ... }
    ...
    void restoreObjects()
    {
        ...
        const unsigned int objectsCount = restoreInt();
    
        assert(objectsCount == objects.getObjectsCount());
        ...
    }

    Ансайнд, туда и обратно

    atsgovno, 31 Марта 2015

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

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $response['formPassport']['disable'] = true;
    
    if ($houseRevision->getStage() == HouseStage::EXPLOITED or $houseRevision->getStage() == HouseStage::DECOMMISSIONED or $houseRevision->getStage() == HouseStage::DRIFTING) {
        $response['formPassport']['disable'] = false;
    }
    
    if (!empty($items['result'])) {
        $response['formPassport']['success'] = true;
    } else {
        $response['formPassport']['success'] = false;
    }

    Slider_123, 30 Марта 2015

    Комментарии (1)
  5. PHP / Говнокод #17870

    +157

    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
    function CommentTask($replic, $depuser){
    				
              	  $fh1 = fopen('tasks/'.$replic['page'], "r");
    				  $str = fgets($fh1, 4096);
    				  $mass = explode("~", $str);	  
    				  $projectpage = $mass[5].".txt";
    				  $deppage = $mass[6];
    				  fclose($fh1);
                 $olddate = "";	  
    	         If (rtrim($replic['date'])<>""){
    			      $fh1 = fopen('tasks/'.$replic['page'], "r");
    				  $str = fgets($fh1, 4096);
    				  $mass = explode("~", $str);
    				  $olddate = " (Изменение даты с ".dt($mass[3])." на ".dt($replic['date']).")";
    			      $data= $mass[0]."~".$mass[1]."~".$mass[2]."~".$replic['date']."~".$mass[4]."~".$mass[5]."~".$mass[6];//В виндовс не \n, а \r\n
                      $file = 'tasks/'.$replic['page'];
    			      $array=file( $file );
    			      $array[0]=$data; 
    			      file_put_contents($file, $array); 
    			 }
    	          $fh =fopen('tasks/'.$replic['page'],"a");
    	          fwrite ($fh, "\r\n".date('d.m.Y G:i'). " : ".$replic['addon'].$olddate." (".$_COOKIE[user].")");
      			  addrecord(date('d.m.Y G:i').": "." Добавлено примечание : ".$replic['addon'], " Задание: №".str_replace(".txt", "", $replic['page'])." <a href='tasks.php?page=".$replic['page']."'><i>".$mass[1]."</i>.</a> Автор: ".$_COOKIE[user]."<i> Задача от пользователя <b>".rtrim($mass[2])."</b></i>", rtrim($deppage), "notes");
    	          sendmanagement(namedep(rtrim($mass[6])), date('d.m.Y G:i')."Задание: №".str_replace(".txt", "", $replic['page'])." ".$mass[1].".: "." Добавлено примечание : ".$replic['addon']."<br> Автор: ".$_COOKIE[user]."<i> Задача от пользователя <b>".rtrim($mass[2])."</b></i>", 1, 0);
                   if (isfl(rtrim($mass[2]))==1){
    				  sendmanagementfl(namedep(rtrim($mass[6])), date('d.m.Y G:i')."Задание: ".$mass[1].".: "." Добавлено примечание : ".$replic['addon']."<br> Автор: ".$_COOKIE[user]."<i> Задача от пользователя <b>".rtrim($mass[2])."</b></i>", 1, 0);
    			   }
    			   if (rtrim($mass[2]) <> rtrim($_COOKIE[user])){
    			      senduser2("Оповещение ", "Задание: №".str_replace(".txt", "", $replic['page'])." ".$mass[1].".: "." Добавлено примечание : ".$replic['addon'],  rtrim($mass[2]));
    			  }
    			 sendfollowers($replic['page'], "Задание: №".str_replace(".txt", "", $replic['page'])." ".$mass[1].".: "." Добавлено примечание : ".$replic['addon']);
    			 fclose($fh);
    }

    БД? Нет, не слышали!

    Arris, 26 Марта 2015

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

    +157

    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
    (
    		new CompleteProfileRequest(
    			new \stdClass,
    			new \Net_URL2(
    				$this->uriBuilder
    					->reset()
    					->setUseCacheHash(FALSE)
    					->setCreateAbsoluteUri(TRUE)
    					->build()
    			),
    			array_key_exists('headlineSelect', $settings)
    				? $settings['headlineSelect']
    				: 'headline:complete_profile'
    		)
    )->create();

    Нельзя просто так взять и наплодить кучу переменных ))

    tarzak, 25 Марта 2015

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    string http_build_url ([ mixed $url [, mixed $parts [, int $flags = HTTP_URL_REPLACE [, array &$new_url ]]]] )
    
    Parameters
    
        url
        (part(s) of) an URL in form of a string or associative array like parse_url() returns
    
        parts
        same as the first argument

    волшебно

    Fike, 21 Марта 2015

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

    +69

    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
    package mypackage;
    import java.io.*;
    
    public class RimToArab {
    		public static void main(String [] args){
    			System.out.println("Enter the Roman numeral:");
    			String Rim = "";
    			char[] Rch = {'I','V','X','L','C','D','M'};
    			int[] Acf = {1,5,10,50,100,500,1000};
    			
    			
    			int i,j=0,rez=0;						
    			try {
    				BufferedReader d = new BufferedReader(new InputStreamReader(System.in));
    				Rim = d.readLine();  
    			} catch  (IOException e) {
    				System.out.println("Input error!");
    			} 				
    			for (int c = Rim.length()-1; c>=0; --c ){				
    					for(i=6;i>=0; --i){
    						if (Rch[i]==Rim.charAt(c)){
    							if (j>Acf[i]){
    								rez=rez-Acf[i];
    							} else {
    								rez=rez+Acf[i];
    							}					
    							j=Acf[i];
    						}											
    					}							
    									
    			}				
    			if (rez!=0){
    				System.out.println(rez);
    			}	else {
    				System.out.println("Wrong format of input!");
    			}
    		}
    }

    говнокод наоборот римские в арабские

    Norick, 21 Марта 2015

    Комментарии (1)
  9. Java / Говнокод #17830

    +74

    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
    56. 56
    57. 57
    58. 58
    59. 59
    package mypackage;
    import java.io.*;
    
    public class ArabToRim{
    
        public static void main(String arg[]){
            String RimSym[] ={"I", "V", "X", "L","C","D","M"} ;
    		
    		
    		String Arab = "";
            System.out.println("Input simbol");
            try {
    			BufferedReader d = new BufferedReader(new InputStreamReader(System.in));
    			Arab = d.readLine();  
            } catch  (IOException e) {
                System.out.println("Input ERROR");
            } 
    		Arab = new StringBuilder(Arab).reverse().toString();
    		String Rim = "";
    		String rez = "";
    		int n = 0;
    		int c = 0;
    		int i = 0;
    		
    		for(int k=Arab.length();k>0; --k){
    			int s = Character.getNumericValue(Arab.charAt(c));
    			rez = "";
    		
    			if (s<=3) {
    				for (i=s; i>0; --i){
    					rez=rez + RimSym[n];
    				}
    			}
    			if (s==4) {
    				rez=rez + RimSym[n]+RimSym[n+1];			
    			}
    			if (s==5) {
    				rez=rez + RimSym[n+1];
    			}
    			if (s>=6) {
    				if (s<9){
    					rez=rez + RimSym[n+1];
    					for (i=s-5; i>0; --i){
    						rez=rez + RimSym[n];
    					}
    				}
    			}
    			if (s==9) {
    				rez=rez + RimSym[n]+ RimSym[n+2];
    			}	
    			++c;
    			n = n+2;
    			Rim=rez+Rim;
    			
    			
    		}
    		System.out.println(Rim);		
        }
    }

    Говнокод арабские в римские

    Norick, 20 Марта 2015

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

    +159

    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
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    function getProductIds(text, containerId) {
            var products = new Array();
     
            var valueFound = false;
     
            var start = 0;
            var end = 0;
            var itemCount = 0;
            var curChar = 0;
     
            var readStart = text.indexOf(containerId);
     
            var triggerChar = ">";
     
            while (valueFound == false) {
                if (text.substring(readStart + curChar, readStart + curChar + triggerChar.length) == triggerChar)
                    valueFound = true;
                else
                    curChar++;
            }
     
            start = readStart + curChar + 1;
     
            valueFound = false;
            triggerChar = "</div>";
     
            while (valueFound == false) {
                if (text.substring(readStart + curChar, readStart + curChar + triggerChar.length) == triggerChar)
                    valueFound = true;
                else
                    curChar++;
            }
     
            end = readStart + curChar;
     
            var itemsHtml = text.substring(start, end).replace(" ", "").replace("\n", "");
     
            curChar = 0;
     
            triggerChar = "ProductId";
     
            while (curChar < itemsHtml.length) {
                if (itemsHtml.substring(curChar, curChar + triggerChar.length) == triggerChar)
                    itemCount++;
     
                curChar++;
            }
     
     
     
            for (var curItem = 1; curItem <= itemCount; curItem++) {
     
                var product = new Array();
     
                product[0] = getValue(itemsHtml, "LineItem_" + curItem + "_ProductId", "value=\"", "\"", 1);
                product[1] = getValue(itemsHtml, "LineItem_" + curItem + "_ProductName", "value=\"", "\"", 1);
                product[2] = getValue(itemsHtml, "LineItem_" + curItem + "_Quantity", "value=\"", "\"", 1);
                product[3] = getValue(itemsHtml, "LineItem_" + curItem + "_UnitPrice", "value=\"", "\"", 1);
     
                products[curItem - 1] = product;
     
            }
     
            return products;
        }

    Шедевральный код. Работают с HTML даже не на нативном js, а как с обычной строкой. Правильно, зачем париться - строки знают все :)

    PS Код не мой. Однако стоит отметить, что он успешно используется на реальных сайтах :)

    sashapinsk, 20 Марта 2015

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

    +132

    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
    public static string DownloadString(string Url, bool UnZip = false)
            {
                var v = Configs.Instance.MainURL + Url;
                if (!CheckOnServer(v))
                    return "";
                using (var wb = new WebClient())
                {
                    if (UnZip)
                        v = Encoding.UTF8.GetString(IoUtils.UnZip(wb.DownloadData(v)));
                    else
                        v = wb.DownloadString(v);
                    if (v.StartsWith(((char)65279).ToString())) v = v.Substring(1);//utf8 header -_-
                }
                return v;
            }

    skydev, 12 Марта 2015

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