1. Java / Говнокод #17565

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    try
    {
    	    tmp = stored.get( name ) != null;
    } catch (Exception e)
    {
    /***/
    }

    Умело обходим NullPointerException + свой велосипед вместо containsKey

    sakkath, 03 Февраля 2015

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /**
         * Verify displayed special product price on product page(front-end) equals passed from fixture.
         *
         * @return null|string|void
         */
        protected function verifySpecialPrice()
        {
            return null;
        }

    Судя с того, что написано в дескрипшене, а именно
    @return void
    даный метод можно свести к
    return;
    или даже
    //

    Lord723518, 03 Февраля 2015

    Комментарии (3)
  3. Java / Говнокод #17563

    +145

    1. 1
    !String.valueOf(TDContractualMD).equals("null date")

    Проверка даты на null

    Albo1843, 03 Февраля 2015

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

    +138

    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
    *[name="mq-reference-view"][checked] + * + .mq-reference-person {
        margin-left: 0;
    }
    
    *[name="mq-reference-view"][checked] + * + * + * + * ~ .mq-reference-person {
        margin-left: 18px;
    }
    
    *[name="mq-reference-view"][checked] + * + * + * + * + * + * + * + * ~ .mq-reference-person {
        margin-right: -232px;
    }
    
    @media (mq-width: 772px) {
        #mq-reference-open-1[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + * + * + * + .mq-reference-person,
        #mq-reference-open-2[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + * + * + * + .mq-reference-person {
            margin-right: -232px;
        }
        #mq-reference-open-3[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + .mq-reference-person,
        #mq-reference-open-4[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + .mq-reference-person {
            margin-left: -232px;
        }
        #mq-reference-open-3[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + .mq-reference-person,
        #mq-reference-open-4[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + .mq-reference-person {
            margin-left: 0;
        }
    }
    
    @media (mq-width: 534px) {
        #mq-reference-open-1[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + .mq-reference-person,
        #mq-reference-open-3[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + * + * + * + .mq-reference-person {
            margin-right: -232px;
        }
        #mq-reference-open-2[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + .mq-reference-person,
        #mq-reference-open-4[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + .mq-reference-person {
            margin-left: -232px;
        }
        #mq-reference-open-2[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + .mq-reference-person,
        #mq-reference-open-4[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + * + * + * + .mq-reference-person {
            margin-left: 0;
        }
    }
    
    #mq-reference-open-1[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + .mq-reference-person,
    #mq-reference-open-2[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + .mq-reference-person,
    #mq-reference-open-3[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + .mq-reference-person,
    #mq-reference-open-4[checked] ~ .mq-reference-views *[name="mq-reference-view"][checked] + * + * + * + * + * + * + * + .mq-reference-person {
        opacity: 1;
        filter: Alpha(opacity=100);
    }

    По-соседски

    nikpachoo, 02 Февраля 2015

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    this.alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
    this.identityDefence = this.alphabet[Math.floor(Math.random() * (this.alphabet.length - 1))] + Math.floor(Math.random() * 1000) 
    + this.alphabet[Math.floor(Math.random() * (this.alphabet.length - 1))] 
    + this.alphabet[Math.floor(Math.random() * (this.alphabet.length - 1))] + Math.floor(Math.random() * 1000) 
    + this.alphabet[Math.floor(Math.random() * (this.alphabet.length - 1))] + Math.floor(Math.random() * 1000);

    А как вы генерируете случайный id объектов?

    SuperCuke, 02 Февраля 2015

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

    −141

    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
    # GET /med_programs/1/edit
      def edit
        @med_program = MedProgram.includes(:appeal, :template).find(params[:id])
        next_step_path = next_step_appeal_path(@med_program.appeal_id)
        # TODO: flash.keep ?
        case true
          when @med_program.appeal.kit_not_found?
            redirect_to @med_program.appeal
          when @med_program.appeal.new?
            # Just render edit view
          when @med_program.appeal.verify_person?
            redirect_to edit_person_path(@med_program.appeal.person_id, :back_url => next_step_path)
            return # для наглядности
          when @med_program.appeal.create_user?
            if @med_program.appeal.person.user_id
              path = edit_user_path(@med_program.appeal.person.user_id, :back_url => next_step_path)
            else
              path = new_user_path(:person_id => @med_program.appeal.person_id, :back_url => next_step_path)
            end
            redirect_to path
            return # для наглядности
          when @med_program.appeal.add_doctor?
            redirect_to add_doctor_med_program_path(@med_program.id)
            return # для наглядности
          when @med_program.appeal.create_user_doctor?
            if @med_program.doctor.person.user_id
              path = edit_user_path(@med_program.doctor.person.user_id, :back_url => next_step_path)
            else
              path = new_user_path(:person_id => @med_program.doctor.person_id, :back_url => next_step_path)
            end
            redirect_to path
            return # для наглядности
          when @med_program.appeal.add_contractor?
            redirect_to add_contractor_med_program_path(@med_program.id)
            return # для наглядности
          when @med_program.appeal.input_settings?
            redirect_to set_settings_med_program_path(@med_program.id)
            return # для наглядности
          when @med_program.appeal.pick_specialists?
            redirect_to select_specialists_med_program_path(@med_program.id)
            return # для наглядности
          when @med_program.appeal.pick_operators?
            redirect_to select_operators_med_program_path(@med_program.id)
            return # для наглядности
          when @med_program.appeal.read_informed_consent?
            redirect_to informed_consent_med_program_path(@med_program.id)
            return # для наглядности
          when @med_program.appeal.sign_contract?
            redirect_to sign_contract_med_program_path(@med_program.id)
            return # для наглядности
          else
            redirect_to @med_program
        end
      end

    Самый наглядный код в мире

    FancyDancy, 02 Февраля 2015

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

    −157

    1. 1
    patient_id = MedProgram.where(:id => params[:med_program_id]).limit(1).pluck(:patient_id).first

    FancyDancy, 02 Февраля 2015

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

    +53

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for (int i = 1; i <= s.Length; ++i) {
        if (s[i] == '/') {
            s = s.SubString(1, i) + s.SubString(i, MaxInt);
            ++i;
        }
    }

    Кручу-верчу запутать хочу. Кто с первого раза догадается, в чём задача кода - получит пирожок с полочки.

    P.S. Строки билдеровские, нумерация с 1. SubString принимает индекс начала и количество символов.

    bormand, 02 Февраля 2015

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

    +136

    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
    private static string RemoveInvalidChars(string source)
    {
        foreach (var c in invalidChars)
            source = source.Replace(c.ToString(), "");
    
        return source;
    }
    
    public static string Validate(string source)
    {
        source = RemoveInvalidChars(source);
    
        return source;
    }

    pushistayapodmyshka, 02 Февраля 2015

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

    +64

    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
    import java.util.HashMap;
    import java.util.Map;
    import java.util.StringTokenizer;
    
    public class PolynomialParser {
    	
    	public Polynomial parse(String rawPolynomial) {
    		String source = normalizeSourceString(rawPolynomial);
    		Map<Integer, Integer> result = new HashMap<>();
    		
    		StringTokenizer tokenizer = new StringTokenizer(source, "[+-]", true);
    		boolean isCurrentNegative = false;
    		int currentDegree;
    		int currentCoefficient;
    		while (tokenizer.hasMoreTokens()) {
    			String currentToken = tokenizer.nextToken();
    			if ("-".equals(currentToken)) {
    				isCurrentNegative = true;
    			} else if ("+".equals(currentToken)) {
    				isCurrentNegative = false;
    			} else {
    				if (currentToken.contains("x")) {
    					if (currentToken.contains("^")) {
    						String[] tmp = currentToken.split("x\\^");
    						currentDegree = Integer.parseInt(tmp[1]);
    						int draftCoefficient = Integer.parseInt(tmp[0]);
    						currentCoefficient = (isCurrentNegative) ? - draftCoefficient : draftCoefficient;
    					} else {
    						currentDegree = 1;
    						String[] tmp = currentToken.split("x");
    						int draftCoefficient = (tmp.length == 0) ? 1 : Integer.parseInt(tmp[0]);
    						currentCoefficient = (isCurrentNegative) ? - draftCoefficient : draftCoefficient;
    					}
    				} else {
    					currentDegree = 0;
    					int draftCoefficient = Integer.parseInt(currentToken);
    					currentCoefficient = (isCurrentNegative) ? - draftCoefficient : draftCoefficient;
    				}
    				result.put(currentDegree, currentCoefficient);
    			}
    		}
    		return new Polynomial(result);
    	}
    	
    	private String normalizeSourceString(String source) {
    		String result = source.replaceAll("\\s+","");
    		return result.toLowerCase();
    	}
    }

    Из сегодняшнего. Парсинг многочленов.

    itrofan-ebufsehjidov, 01 Февраля 2015

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