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

    Всего: 6

  2. Python / Говнокод #21659

    −53

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    https://habrahabr.ru/post/314062/
    
    О том, как устроено часть внутренностей языка.
    
    Страшненькая и печальная статья.

    Zuzik, 07 Ноября 2016

    Комментарии (7)
  3. Python / Говнокод #20177

    −45

    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
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    import os
    import sys, traceback
    
    def main():
    	try:
    		clear()
    		banner()
    		raw_input('Press any key to continue...!')
    		clear()
    		help()
    		raw_input('Press any key to continue...!')
    		def main_menu():
    			while True:
    				print ('''
     |\033[1;36mMenú Principal\033[1;m|
    1) Update System
    2) Install applications
    3) List applications installed (not functional yet)
    4) Uninstall applications (not functional yet)
    5) Install DEs & WMs 
    6) Personalitation (not functional yet)
    7) Help
    8) Exit
    ''')
    				main_menu1 = raw_input("\033[1;36mMPIS > \033[1;m")
    				clear()
    				while main_menu1 == "1":
    					print ('''
    |\033[1;36mUpdate System\033[1;m|
    1) Refresh Mirrors and Keys
    2) Pacman repositories update
    3) AUR repositories update
    4) Update all system
    5) Clear cache and orphan packages
    6) See the content of mirrorlist file
    7) Back
    8) Go Home
    					''')
    					update = raw_input("\033[1;32mWhat you want to do?> \033[1;m")
    					if update == "1":
    					    print ("Installing keys...")
    					    if os.system("sudo pacman -S archlinux-keyring manjaro-keyring") == 0:
    					    	if os.system("sudo pacman-keys --init") == 0:
    					    		if os.system("sudo pacman-keys --populate archlinux manjaro") == 0:
    					    			print ("Keys instaled")
    					    print ("Updating Mirrors...")
    					    if os.system("sudo pacman-mirrors -g") == 0:
    					    	print ("Mirrors Updated")
    					    raw_input('Task Finished. Press Enter to continue')
    					elif update == "2":
    						if os.system("sudo pacman -Syy") == 0:
    							raw_input('Task Finished. Press Enter to continue')
    						else:
    							raw_input('Task Finished with errors. Press Enter to continue')
    					elif update == "3":
    						if os.system("yaourt -Syy") == 0:
    							raw_input('Task Finished. Press Enter to continue')
    						else:
    							raw_input('Task Finished with errors. Press Enter to continue')
    					elif update == "4":
    						print ("Do you want refresh mirrors in the full system update?")
    						opupdate = raw_input("1) Yes 2) No > ")
    						if opupdate == "1":
    							os.system("sudo rm -f /var/lib/pacman/db.lck && sudo pacman-mirrors -g && sudo pacman -Syyuu  && sudo pacman -Suu")
    						elif opupdate == "2":
    							os.system("sudo rm -f /var/lib/pacman/db.lck && sudo pacman -Syyuu  && sudo pacman -Suu")
    						else:
    							print ("\033[1;31mSorry, invalid command!\033[1;m")
    						raw_input('Task Finished. Press Enter to continue')
    					elif update == "5":
    					    print ("Cleaning caché...")
    					    if os.system("sudo pacman -Sc && sudo pacman -Scc") == 0:
    					    	print ("Cache cleared")
    					    	raw_input('Task Finished. Press Enter to continue')
    					    else:
    					    	raw_input('Task Finished with errors. Press Enter to continue')
    					    print ("Cleaning orphan packages...")
    					    if os.system("sudo pacman -Rsn && yaourt -Rsn ") == 0:
    					    	print ("Orphan packages cleared")
    					    	raw_input('Task Finished. Press Enter to continue')
    					    else:
    					    	raw_input('Task Finished with errors. Press Enter to continue')
    					elif update == "6":
    						file = open('/etc/pacman.d/mirrorlist', 'r')
    						print file.read()					
    					elif update == "back" or update == "7":
    						clear()
    						main_menu()					
    					elif update == "gohome" or update == "8":
    						clear()
    						main_menu()
    					elif update == "exit":
    						sys.exit(0)
    
    #... и так далее, чуть более 700 строк

    https://github.com/KernelPanicBlog/Script-Post-instalacion/blob/master/mpis.py
    Скрипт устанавливающий и настраивающий необходимые после установки вещи. Автор и его соавтор имеют собственные бложики. Скрипт писался недели полторы как минимум. У меня слезы на глазах, я знаю, что это баянистое говнецо, но у меня все равно слезы на глазах.

    Zuzik, 10 Июня 2016

    Комментарии (10)
  4. Си / Говнокод #20021

    −44

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    В виде говнокода не было, вроде, но в комментариях упоминали. 
    Исходники языка J. Код на Си, слабонервным просьба не смотреть.
    https://github.com/search?l=c&q=org%3Ajsoftware+&ref=searchresults&type=Code&utf8=%E2%9C%93
    На плюсах иногда более менее вменяемые вещи можно увидеть.
    https://github.com/search?l=cpp&q=org%3Ajsoftware+&ref=searchresults&type=Code&utf8=%E2%9C%93

    Есть подозрение, что они исходники тупо пропустили через обфускатор, и выложили на гитхаб. Поводы - страшные названия переменных, очень полезные комментарии местами, вменяемый код местами опять же.

    Zuzik, 16 Мая 2016

    Комментарии (7)
  5. Python / Говнокод #19455

    −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
    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
    import itertools
    from connect import create,close
    class Klient:
        def __init__(self, code=0, fam='', imya='', otch='', comment='', passport=''):
                self.setcode(code)
                self.setfam(fam)
                self.setimya(imya)
                self.setotch(otch)
                self.setcomment(comment)
                self.setpassport(passport)
        def setcode(self,code):self.__code=code
        def getcode(self):return self.__code
        def setfam(self,fam):self.__fam=fam
        def getfam(self):return self.__fam
        def setimya(self,imya):self.__imya=imya
        def getimya(self):return self.__imya
        def setotch(self,otch):self.__otch=otch
        def getotch(self):return self.__otch
        def setcomment(self,comment):self.__comment=comment
        def getcode(self):return self.__code
        def setpassport(self,passport):self.__passport=passport
        def getpassport(self):return self.__passport
        def getfullname(self):return self.__fam+" "+self.__imya+" "+self.__otch
    ...
     ...
    class Gostinica:
        ....
        def readdata(self):
            db, conn, curs=create(self.__datafile)
            curs.execute('select code,fam,imya,otch,comment,passport from klient')
            data=curs.fetchall()
            for r in data:self.appendklient(klient(r[0],r[1],r[2],r[3],r[4],r[5]))
            curs.execute('code,vmestimost,comfort,price from nomer')
            data=curs.fetchall()
            for r in data:self.appendnomer(nomer(r[0],r[1],r[2],r[3]))
            curs.execute('select code,nomer, data_posel,data_osvob,primech from posel')
            data=curs.fetchall()
            for r in data:
              self.appendposel(posel(code=r[0],nomer=r[1],data_posel=r[2],data_osvob=r[3],primech=r[4]))
              l=[p for p in self.__nomers() if p.getcode()==r[4]]
              if l:self.getposels()[-1].setnomer(l[0])
            curs.execute('select posel,klient from posel_klient')
            data=curs.fetchall()
            for r in data:
              l1=[p for p in h.getpoesels() if p.getcode()==r[0]]
              l2=[p for p in h.getklients() if p.getcode()==r[1]]
              if l2 and l1:l1[0].appendklient(l2[0])
            close(db, conn, curs)

    Знаю, что лаба скорее всего, знаю, что достаточно избитая тема, но меня впечатлило. В полном объёме тут http://www.cyberforum.ru/python/thread1661734.html

    Zuzik, 14 Февраля 2016

    Комментарии (8)
  6. Python / Говнокод #17962

    −115

    1. 1
    print 1 < 2 == 2 > 1 in [1,2,3] < [2,3,4,5] != 1

    Данный кусочек кода ( взял на одном из сайтов с тестами) навел меня на мысль - а может быть люди говнокодят потому, что языки программирования позволяют это делать? Взглянув на него первая моя мысль была - что это за хрень, она не будет работать. Оказалось я был не прав.

    Zuzik, 08 Апреля 2015

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

    +134

    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
    // Как вы думаете какой вариант кода более правильный?
    using System;
    using System.Linq;
    public class Program {
        public static int Puzzle(string s) {
            return s.Where(x=>x=='a').Count();
        }
    }
    // Или вот этот?
    using System;
    using System.Linq;
    public class Program {
        public static int Puzzle(string s) {
            return s.Count(x=>x=='a');
        }
    }
    //С точки зрения Майкрософт 1-ый вариант лучше

    Майкрософт запустила игру головоломку, каждая из головоломок решается определнным кодом. После - элегантность решения оценивается, весьма неоднозначным способом.
    Подробнее - https://www.codehunt.com/ и статейка на хабре http://habrahabr.ru/post/223173/ . Данная особенность замечена не мной, задачи 2.06 и 2.07

    Zuzik, 18 Мая 2014

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