1. Ruby / Говнокод #24427

    0

    1. 1
    course = course_id > 0 ? Course.find(course_id) : nil

    стаж - это багаж. Senior

    AlexKlim, 29 Июня 2018

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

    +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
    Если Найти(_оинв.Комментарий,"#инвентаризация гсм#")=0 Тогда
    		_оинв.Комментарий="#инвентаризация гсм#";
    		Если не Найти(_комментарий,"газ")=0 Тогда
    			_оинв.Комментарий=_оинв.Комментарий+" газ";
    		ИначеЕсли не Найти(_оинв.Склад.Наименование,"АГЗС")=0 Тогда
    			_оинв.Комментарий=_оинв.Комментарий+" газ";
    		КонецЕсли;
    		_оинв.Комментарий=_оинв.Комментарий+" "+_комментарий;
    	ИначеЕсли не Найти(_оинв.Склад.Наименование,"АГЗС")=0 Тогда
    		Если Найти(_комментарий,"газ")=0 Тогда
    			_оинв.Комментарий=_оинв.Комментарий+" газ";
    		ИначеЕсли не Найти(_комментарий," газ газ")=0 Тогда
    			_оинв.Комментарий=СтрЗаменить(_оинв.Комментарий," газ газ"," газ");
    		КонецЕсли;
    	КонецЕсли;

    Где "_оинв" это ДокументОбъект Инвентаризация

    MyNameIs, 29 Июня 2018

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

    0

    1. 1
    ('%s'%().__class__)[bool([()])<<(bool([()])<<bool({()}))]+('%s'%bool([{}]))[(bool([()])<<(bool({()})))+(bool([[]]))]+('%s'%None)[bool([()])<<bool({()})]+('%s'%{}.__class__)[bool([()])<<(bool([()])+(bool([[]])<<bool({()})))]+('%s'%None)[bool([])<<bool({()})]+('%s'%().__class__)[19%10]+('%s'%{}.__class__)[bool([()])<<(bool([()])+(bool([[]])<<bool({()})))]+('%s'%bool([]))[bool([()])<<(bool([()])<<bool({()}))]+('%s'%[].__class__)[(bool([()])+(bool([()])<<(bool([[]])<<bool({()}))))*(bool([[]])<<bool({()}))]

    skynv, 28 Июня 2018

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

    0

    1. 1
    2. 2
    Давайте хвалить "PHP 8"
    https://habr.com/company/badoo/blog/415359/

    guestinxo, 27 Июня 2018

    Комментарии (14)
  5. JavaScript / Говнокод #24414

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    updateStateByHotkey(items, keyCode, isModifierPressed) {
        const getNewState = stateGetter => items.every(item => stateGetter(item) !== isModifierPressed) === isModifierPressed;
        // Под switch'ем для каждой горячей клавиши
            this.setItemsX(items, getNewState(item => item.x));
    }

    ES6.
    Нежелание подумать над менее запутанной реализацией заставило подумать над реализацией вот этого вот. Под Modifier'ом имеется в виду Ctrl или Command.
    СПОЙЛЕР:
    Горячие клавиши, переключающие состояние, идут парами - без Ctrl и с ним.
    Если все элементы находятся в одном и том же состоянии, оба варианта делают одно и то же - переключают это состояние.
    Если элементы в разных состояниях, то без Ctrl оно включает состояние во всех элементах, а с Ctrl - выключает.
    Значения состояния и isModifierPressed, отличные от true или false, вроде бы, исключены.

    Kozel, 26 Июня 2018

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

    0

    1. 1
    Тем временем на переднем крае вореционной науки: https://arxiv.org/pdf/1806.08462.pdf

    CHayT, 26 Июня 2018

    Комментарии (26)
  7. Куча / Говнокод #24411

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Небольшой опрос.
    Вы пароли от своих фаек
    - помните наизусть
    - записываете на листочке или в JSON
    - делаете одинаковый пароль от всех фаек
    - создаетё одноразовые файки и не помните пароль 
    - другое

    CrashTesteAnusov, 23 Июня 2018

    Комментарии (16)
  8. Си / Говнокод #24409

    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
    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
    int  removing_mask (int *x , int *y, int *lng  , char board[][Y], 
    					char *content[PL] , int select, void   (*write  )( int x , int y  ,char board[][Y],
    					char *content)  , int search_cross_pnt(char cross_point[LN] , int *point   ,char *content[PL] , int in_x , int in_y) , 
    					int (*chk_mask )(char board[][Y] , int mem ,int sh, int br )
    					   ){
    	char mask_word[LN] = {0}  ;
    	int sm = 1;
    	int lvl   =  0;
    	int shift =  0;
    	int brd = 0;
    	int mem = 0;
    	int stp = 0;
    	int mn = 0;
    	int bi = 0;
    	int rd = 0;
    	int gor = 0 ,vert = 0;
    	int pnt = 0;
    	int hg  = 15;
    	int	sr = 0;
    	int *one_value = 0  , *second_value = 0;
    	int ctr = 0;
        
    	if(select == 0 ){
    	  mem = *y;
    	  hg  = 	  *y < LN	 ?  *y : hg    ;
    	}
    	else   {
    		mem = *x;
    		hg  = 	  *x < LN	 ?  *x : hg    ;
    	
    	}
    	
    	for(   lvl = 0     ,rd = 0; lvl <= *lng  - 1    ;      lvl++  ,mem++	  ){
    		 
    			for(brd = 0  ;    brd  <= hg  ; brd++           ){
    			 	  	
    			 select == 0 ? ( shift = *x ,    one_value = &sr ,   	second_value  =  &mem) :  (shift = *y       ,  one_value = &mem ,   	second_value  = &sr  ) ;
    	
    	if(	 (select == 0 && board[ shift - 1][ *second_value ]  == 0  )  ||  (select == 1 && board[*one_value  ][shift  - 1 ]   == 0    )){
    		
    		for(    pnt = 0, stp = 0;   stp  <= LN  ;stp++     ){
    				   	  
    			if ( 	 chk_mask  ( board  , mem    ,   shift ,  brd  )   == 1   ){
    						 pnt = 1;
    						
    						break;
    				}	
    					sr = shift++ - brd ;
    					mask_word[stp] 	 = 	board[    	*one_value      ][ 	*second_value   ]  ;
    				}
    		     
    	     	}   	 
    				if(pnt == 1 ){
    				     	break;
    					 }
    
    				sm =  search_cross_pnt( mask_word   ,&mn , content  ,*x, *y  ) ; 
    
    			 	if(  sm > bi   ){
    					
    				
    				    select == 0 ? (  gor   =	*x - brd, vert   = 	mem)	: (gor   =	    mem  ,vert   =  *y - brd) ; 
    			        
    					bi = 	sm   ;
    				    rd = mn; 
    			     }
    				}
    			}		 
    			if(  (select == 1 &&  isalpha(board[gor][vert -  1]  ) ||
    			    
    				 (select == 0 &&  isalpha(board[gor - 1 ][vert] )) ||
    				
    				 ( gor && vert  )   ==  0 
    							) ) { 
    			ctr = 1;
    		}
    		if(  ( (    content[rd]   != " " ) )  && 
    			
    			( board[gor ][vert ]  ==  content[rd][0] || !isalpha (board[gor ][vert ]  )  ) 
    		
    			&& !ctr 
    		
    		) {
    			
    			*x = gor  ;   
    			*y = vert ;
    			*lng =   strlen(content[rd ]); 
    			write( gor   , vert    ,  board ,     content[rd]     );
    					content[rd] = " ";
    					return 1 ;
    			}
    	
    			return 0;
    	}

    полный аут кроссворду 3 ч.

    gne4do, 22 Июня 2018

    Комментарии (48)
  9. Си / Говнокод #24408

    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
    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
    int search_cross_pnt(char cross_point[LN] , int *point   ,char *content[PL] , int in_x, int in_y      ){
    		int x = 0;
    		int y = 0;
    		int m = 0;
    		int key = 0;
    				
    	  	for(x = 0; x <= PL - 1 ; x++)  {
    		   y = strlen(content[x] ) ;
    		   
    		   			for(  m = 0; m <= y; m++ ){
    		   	
    			   
    			   
    			   if(      (   *(cross_point + m ) !=    *(*(content + x ) + m )       &&    *(cross_point + m )  != 0   )   ||    
    			   
    			  				( ((  in_x  + y )  > (X - 1)  )       ||      (  (  in_y  + y  ) > (Y - 1) )  )     ) {
    							  key = 0;
    							  break;
    				} 
    	
    	
    			
    			if( *(cross_point + m )  ==    *(*(content + x ) + m )){
    				  	key++;
    				  } 
    	
    			
    			
    			if( m  ==  y ){
    				*point = x ;   return key ;
    				}
    	           }
    	}
    return 0;
    }
    
    void write_horizantal ( int x , int y      ,char board[][Y] , char *content         ){
    					while( *content  ){
    					*( *(board + x) + y++ )   =    *content++   	   ;  
    				}
    			}
    	
    	void write_vertical( int x , int y  , char board[][Y] , char *content   ){
    			while(    *content  ){
    						 *( *(board + x++ ) + y)     =    *content++   ;  
    				}
    			}
    
    
    	
    	int checking_space_null (char board[][Y] , int mem ,int sh, int br  ){
    		int	slc = 0;
    	
    		if(      	
    		 	 (          board[  ( sh   )     -  br  ][mem  -  1 ] != 0   ||    board[  ( sh   )     -  br  ][mem  +  1 ] != 0     ) &&    
    			   
    			  board[  ( sh   )     -  br  ][mem ]  == 0    )  { 
    					slc = 1;
    				}
    	return slc;
    		}
    
    	int checking_space_one (char board[][Y] , int mem ,int sh, int br ){
    		int	slc = 0;
    			if(      	
    	           
    			   (   board[   mem  -  1   ][  ( sh   )     -  br ] != 0  ||   board[ mem     +  1   ][      ( sh   )     -  br  ] != 0     ) &&    
    			   
    			   
    			     board[  mem    ][  ( sh   )     -  br    ] == 0   	
    		 																 )  {
    					slc = 1;
    			} return slc;
    		}

    дегенератор кроссворда 2 ч.

    gne4do, 22 Июня 2018

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

    −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
    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
    #include<stdio.h>
    #include<stdlib.h>
    #include <time.h>
    #include <locale.h>
    #include <string.h>
    #include <ctype.h>
    #define PL 300
    #define X 35
    #define Y 35
    #define LN 15
    #define MN 2
    
    	int main(void){ 
    
    		char *words[PL] = {
    			"гарпия","ястреб", "самоходка","снайпер","медведь","баркас","ельцин", "пушкин","рязанов","рузвельт","вагонетка","богатырь", "галстук","мебель","вождь","кобра","журналист", "валюта","кабель","реванш", 
    			"фляжка","пирожок", "гайдай","люстра","соль","вантуз","дерево", "крантик","гитара","спилберг", "пижон","европа", "достоевский","самокрутка","адвокат","колыбель","калькулятор", "освальд","остановка","фикус", 
    			"вавилен","мыщъх", "озборн","ильинский","пархоменко","связка","стекло", "крепеж","тайсон","мэйсон","николай","глушитель", "сапфир","служанка","стояк","пфайфер","градусник", "стамбул","маядзаки","эйзенхаур", 
    			"али","колбаса", "яжевика","совок","число","кобель","ожог", "страница","ваучер","пафос", "самокат","хвостик", "дурында","пучков","дворкович","барабас","сурков", "шут","асфальт","токио", 
    			"лепесток","удав", "выстрел","калибр","улов","копенгаген","осло", "калипсо","грунт","процент", "блоха","след", "пружина","монтажник","экран","боромир","оскар", "бобик","курасава","никсон", 
    			"сталкер","ягодица", "глазок","шмель","геринг","монро","бондаренко", "стрела","носок","мачетэ","шпицберген","сталь", "монолит","случай","зуб","малохит","клубника", "золото","чехов","диск", 
    			"форд","чубайс", "пелевин","юматов","молоток","демократия","сократ", "геродот","невзоров","сорокин","макконохи","быков", "штанга","гвоздь","весло","табурет","вопрос", "колдовство","обида","смерчь", 
    			"блэкмор","тезка", "зубик","сноха","порше","тормоз","туше", " сигал","баярский","китано", "лунаход","гагарин", "синематограф","жим","электрика","веретино","шахматы", "кувшин","букварь","символ", 
    			"башня","котенок", "револьвер","леннон","тигр","телефон","хамелеон", "матрас","зубр","техникс","леонов","коппола", "овчарка","ауди","сфинкс","матрос","ленин", "доберман","фролово","банан", 
    			"самосвал","куба", "амстердам","клык","шпиль","мука","край", "чатский","бугур","паскаль","альпы","лодка", "транспорт","гиря","шпагат","боцман","мауддиб", "игра","крыло","окно", 
    			"одежда","кольцо", "монитор","гриб","тетрис","человек","обезьяна", "шахматы","кинг","эллрой","кобейн","немезида", "ванна","волонтер","эхо","икота","пена", "звук","сьемка","отстойник", 
    			"мачо","конверт", "снаряд","писатель","поисковик","бегун","бетон", "коллапс","пожарник","сигнал","балоболка","свекровь", "спойлер","запас","морковь","питбуль","кемерово", "загон","юпитер","вашингтон", 
    			"труба","статуя", "дверь","агрегат","мачта","корень","волчара", "корова","маскит","радзинский","канада","челюсть", "сейлормун","ньютон","дзержинский","шестерня","валькирия", "компот","адам","матрица", 
    			"бетховен","пудель", "деталь","коломбо","рахит","монголия","колба", "конфета","енот","груздь","наполеон","вертухай", "сковородка","гейша","мост","гриль","комедия", "кубрик","ганапольский","паук", 
    			"скороход","крым", "ротшильд","гайдар","пешка","козырь","дерижабль", "магнезия","магнум","рогатка","гайка","штопор", "перевертыш","репортаж","москва","дзедун","меньшов", "пиксель","розетка","гарем", 
    			};
    
    		srand(time(NULL));
    
    		setlocale( LC_ALL,"Russian" );
    
    		void write_vertical( int x , int y , char board[][Y] , char *content );
    
    		void write_horizantal( int x , int y ,char board[][Y] , char *content );
    
    		void(*write[ MN])( int x , int y ,char board[][Y] , char *content ) = {write_vertical,write_horizantal};
    
    		int search_cross_pnt(char cross_point[LN] , int *point   ,char *content[PL] , int in_x , int in_y );
    
    		int checking_space_null (char board[][Y] , int mem ,int sh, int br  );
    
    		int checking_space_one  (char board[][Y] , int mem ,int sh, int br );
    
    		int (*chk_mask[ MN])(char board[][Y] , int mem ,int sh, int br ) = { checking_space_null    ,  checking_space_one  } ;
    
    		int search_cross_pnt(char cross_point[LN] , int *point   ,char *content[PL] , int in_x , int in_y  ) ;
    
    		int n_x = 2   ,   n_y   =  3  ;
    
    		int kk = 0;
    
    		int first =   first = 1 +  rand() % 299 ;
    
    		int lng = strlen(words[first]) ;
    
    		char crossboard[X][Y] = {" "} ;  
    
    		int  removing_mask (int *x , int *y, int *lng , char board[][Y], 
    					char *content[PL], int select, void   (*write  )( int x , int y   ,char board[][Y],
    					char *content ),
    					int search_cross_pnt(char cross_point[LN] , int *point   ,char *content[PL] , int in_x , int in_y) ,     
    					int (*chk_mask )(char board[][Y] , int mem ,int sh, int br ) );      
    			
    
    	write_horizantal( n_x ,  n_y    ,  crossboard , words[first]       );  
    	
    	words[first]   = " ";
    
    	for(removing_mask(  &n_x  , &n_y , &lng  , crossboard , words , kk %  MN , write[kk %  MN] , search_cross_pnt , chk_mask[kk %  MN]   ); 
    			
    			removing_mask(  &n_x  , &n_y , &lng  , crossboard , words , kk %  MN  , write[kk %  MN] , search_cross_pnt , chk_mask[kk %  MN]   )  ; 	                                               
    			
    			kk++ 
    		
    		) ;
    	    		
    				
    			for( n_x  = 0 ;n_x  <= X - 1 ; n_x ++, puts(" ")   ){
    				for(n_y = 0 ;n_y <=   Y  - 1 ;  n_y++ ){
    						     printf("%c " ,  crossboard[n_x ][n_y ]   )  ;	
    					}
    			}
    
    return 0;
    }

    Якобы генератор Кроссворда 1

    gne4do, 22 Июня 2018

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