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

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

    −4

    1. 1
    2. 2
    3. 3
    import shutil
    shutil.rmtree('/')
    print('Me POshutil ))))))))0')

    Шутка на языке Python! )))0

    krokodil_910, 08 Августа 2019

    Комментарии (24)
  3. Куча / Говнокод #25655

    0

    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
    Раньше я дебажил и плакал.
     Но с тех пор как я прочитал книгу Роя Искандеровича Ошерова 
    "Искусство автономного тестирования" моя жизнь изменилась к лучшему,
     я познал настоящую радость всепрдбывающую!
     Как же это здорово жить без ошибок! 
    Надо просто по другому взглянуть на проблему! Спасибо вам, спасибо...
    
     Спасибо и вам, Стивен Спилбергович МакКонакал, за ваши мудрые советы...
    Главный технический императив разаработки ПО - управление сложностью 
    - я помню!...
    
    ____
    
    Общество анонимных дебаггеров на Кактусинской, 25 - и ты  свободен!

    lyashkaket, 01 Июня 2019

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

    0

    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
    <table class="table  table-hover" id="tab2">
    							<tr>
    								<th>Штрихкод </th>
    								<th>Имя покупателя</th>
    								<th>Штук</th>
    							</tr>					
    					
    					</table>
    
    Код ajax
    					<script>
    			$(document).ready(function() { 
    
    				$.ajax({
    					type: "POST",
    					url: 'ajax.php',
    					data : 'task=tab2',
    					dataType: "html",
    					success: function(response) {
    						$('#tab2').append(response)
    
    					}
    
    				});
    			});
    
    	</script>
    		
    file/ajax.php
    * вызов списка клиентов ws_purchase*/
    		if ($ar_clean['task'] === "tab2") { echo "string";
    				$getServices = mysqli_query($db,"
    									 SELECT  *` 
    									 FROM ws_purchase  ");
    					
    								 while($Service = mysqli_fetch_assoc($getServices)) {
    								?>
    								<tr >
    									<td><?=$Service['id_purchase'] ?></td>
    									<td><?=$Service['other_barcode'] ?></td>
    									<td><?=$Service['username'] ?></td>								
    	   							</tr>
    	   						<?}			 
    			}

    Привет, я тут вызываю таблицу из бд mysql через ajax что бы при добавление ново и записью не обновить страницу,
    данные с бд приходе но при добавление новои записи нужно обновить страницу.
    Что не так?

    *Я не сселён в ajax

    arts, 22 Мая 2019

    Комментарии (24)
  5. Куча / Говнокод #25479

    +1

    1. 1
    Вы такого еще не видали

    https://paste.ubuntu.com/p/gpsMVPnd6T/
    Отформатировано: https://paste.ubuntu.com/p/vF8hCGN6Z3/

    20 уровней индентации, адовый копипаст.

    syoma, 26 Марта 2019

    Комментарии (24)
  6. JavaScript / Говнокод #25338

    +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
    let tableCellHamburgers = Array.prototype.slice.call(document.getElementsByClassName('js-listen__letters-table__hamburger'));
      tableCellHamburgers.forEach((tableCellHamburger) => {
    	let code = Array.prototype.slice.call(tableCellHamburger.classList).filter(elem => elem.indexOf('js-table__cell__hamburger__') === 0)[0].replace('js-table__cell__hamburger__', '');
    	let searchInput = document.querySelector(`.js-table__cell__search-input__${code}`);
    	if (!(searchInput && searchInput.value)) {
    	  tableCellHamburger.style.filter = 'none';
    	}
    	let dropdownContent = document.querySelector(`.js-table__cell__dropdown-content__${code}`);
    	if (dropdownContent) {
    	  dropdownContent.style.display = 'none';
    	}
      });

    Автор этого кода (full-stack программист) собирался выпилить jQuery из проекта, т.к. всю работу с DOM давно можно красиво писать на чистом ES6. К счастью, он уволился, не осуществив свой замысел.

    webviewer, 30 Января 2019

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

    −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
    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
    #include<iostream>
    #include<fstream>
    #include<vector>
    using namespace std;
    
    string rec(const string str, char c){return str;}
    
    void cer(){}
    
    main(){
    	string s,d="Text",a;
    	ifstream fin;
    	vector<string> mas;
    fin.open("test.txt");
    //if (fin.is_open()) cout<<"1";else	cout<<"0";
    while(fin>>s)
    	{bool f=0;
    		for(int i=0; i<s.size(); ++i)
    			if (s[i]==d[0])
    				{
    					f=1;
    					for (int j=0; j<s.size()&&j<d.size(); ++j)
    						if (d[j]!=s[i+j]) f=0;
    					if (f)
    						{
    							a.clear();
    							for (int j=0; j<i; ++j)
    								a=a+s[j];
    							a=a+"Hi";
    							for (int j=i; j<s.size(); ++j)
    								a=a+s[j];
    						}
    				}
    			
    			if (f)	{mas.push_back("\n");mas.push_back(a);mas.push_back("\n");}
    			else mas.push_back(s);
    			s=rec(s,'0');
    	}
    	ofstream fout;
    fout.open("output.txt");
    for (int i=0; i<mas.size(); ++i) fout<<mas[i]<<"\t";
    }

    ДД всем просветленным.
    Есть код на С++ , который нормально компилируется и меняет текст в указанном файле. Вопрос: как его использовать для изменения данных при парсинге сайта. По логике Tokenizer передает лексемы в Parser для дальнейшего построения DOM. Значит надо добавить подобный код в Tokenizer, чтобы он передавал уже исправленные данные. Но на практике Tokenizer работает с Buffer(nsHtml5Tokenizer::tokenizeBuffer( nsHtml5UTF16Buffer* buffer)), причем с логическим(bool), а код для строчки из файла.
    Как вариант добавить в сам Parser(nsHtml5Parser::Parse(const nsAString& aSourceBuffer, void* aKey, const nsACString& ContentType, bool aLastCall, nsDTDMode aMode) , но не могу разобраться как это сделать.
    При компиляции вылетает куча ошибок.
    Использованные файлы: nsHtml5Parser.cpp и nsHtml5Tokenizer.cpp, FireFox(версия 47), компилятор MSVS2013.

    DrAli, 12 Октября 2018

    Комментарии (24)
  8. Куча / Говнокод #24606

    −1

    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
    POST-запрос на "Java":
    
    import org.apache.http.*;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.protocol.HTTP;
    import java.util.ArrayList;
    import java.util.List;
    import java.io.UnsupportedEncodingException;
    import java.io.IOException;
    
    Thread thread = new Thread(new Runnable() {
    @Override
    public void run() {
    try  {
    try {
    HttpClient client = new DefaultHttpClient();
    HttpPost post = new HttpPost("http://example.com/form/");
    List<NameValuePair> pairs = new ArrayList<NameValuePair>();
    pairs.add(new BasicNameValuePair("test", "test"));
    pairs.add(new BasicNameValuePair("test2", "test2"));
    post.setEntity(new UrlEncodedFormEntity(pairs));
    try {
    HttpResponse response = client.execute(post);
    } catch (IOException e) {}
    } catch (UnsupportedEncodingException e) {}
    } catch (Exception e) {}
    }
    });
    
    
    
    POST-запрос на "PHP":
    
    $postdata = http_build_query(array('test' => 'test', 'test2' => 'test2'));
    $opts=array('http'=>array('method'=>'POST', 'header'=>'Content-type: application/x-www-form-urlencoded', 'content'=>$postdata));
    $result=file_get_contents('http://mv4gc3lqnrss4y3pnu.cmle.ru/form/', false, stream_context_create($opts));

    20_BLACK_CENTIMETERS, 10 Августа 2018

    Комментарии (24)
  9. JavaScript / Говнокод #24572

    0

    1. 1
    2. 2
    3. 3
    https://javascript.ru/forum/events/74655-peredacha-parametrov-v-funkciyu.html
    https://javascript.ru/forum/events/74576-mozhno-li-ispolzovat-funkciyu-odnogo-diva-v-drugom.html
    https://javascript.ru/forum/events/74553-kalkulyaciya-ceny-na-sajjte.html

    roskomgovno, 02 Августа 2018

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

    −1

    1. 1
    main(){int i=0;char*c = "(5((((`+((((f(H+(P7(d(([)(/(`G(X)7d+(.X+d)X+d(_(d.GXA`gg/d(dggI7(dgg`+(dg7^)(dgKE((dGD/((d/K)(((((((((0X)(((7F(<(XK/H7(d`)`)(.D(F(H(G(/(D`7X(HOg+6(`YgX;(fd7d7//d+7X[+GHKgdX7gg77fcggYKgfg/";while(i++<1122)printf(i%34?(c[i/6]-40&1<<i%6)?"XX":" ":"\n");}

    Ёбаные обфускаторы.

    codemonkey, 02 Июля 2018

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

    +3

    1. 1
    http://www.ssw.uni-linz.ac.at/Research/Papers/Wuerthinger07/Wuerthinger07.pdf

    Как известно, в языках C и C++ есть проблема с buffer overflow, в то время как в языке Java такой проблемы нет (баги в реализации самой JVM не рассматриваем). В языке Java, как и в многих других подобных языках для анскиллябр заедушных, не могущих в сырые указатели, сделали проверки границ массива. В говноязыке C++ впрочем тоже есть какая-то такая питушня, например std::vector::at выполняет роверку выхода индекса за границы диапазона вектора. Только вот в язык JVM давно уже внедряют такую хреноту, как array bounds check elimination, т.е. убирание проверок, когда на этапе компиляции можно доказать, что такие проверки не нужны.

    В какой версии C++ сделают чтоб std::vector::at тоже вот так могло автозаменяться на небезопасный аналог если компилятор доказал что там эти проверки не нужны?

    j123123, 03 Мая 2018

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