1. C# / Говнокод #9521

    +113

    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
    public partial class EditorForm : Form
    {
    	private List<IEditObject> _readOnlyObjects;
    	public IEditObject EditValue {get; set;}
    	
    	public EditorForm(IEditObject value, List<IEditObject> readOnlyObjects)
    	{
    		if (value != null)
    		{
    			EditValue = value;
    		}
    		
    		if (readOnlyObjects != null && readOnlyObjects.Count > 0)
    		{
    			_readOnlyObjects = readOnlyObjects;
    		}
    	}
    }

    Во избежание лишних присвоений.

    Запостил: ICELedyanoj, 23 Февраля 2012

    Комментарии (8) RSS

    • Несмотря на проверки, если вызвать EditorForm(null, null) внутри будут null.
      Ответить
      • Ну так именно это меня и повеселило.
        Это же не какой-нибудь метод Init, а конструктор.
        Ответить
        • надо кидать ArgumentNullException
          Ответить
          • возможно, что дальнейшую логику наличие там null'ов не смущает и тогда кидатся лишний раз исключениями смысла нет.
            Ответить
            • Если бы не смущало, не было бы проверок. Скорее всего в дальнейшем просто возникнет совершенно другое исключение. Уже системного характера.
              Ответить
              • Нет. Уже больше месяца работаю над расшифровкой тонн кода, доставшегося после этого автора в наследство, и могу смело утверждать, что это просто такой авторский стиль.
                Чем больше проверок и трайкотчев - тем надежнее - так он считал.
                Доводилось видеть методы, состоящие из одной строчки - подпись на событие UIшного элемента, заключенной в трайкотч, в обработчике идет просто запись в лог. И таких было немало.
                Просто больная фантазия, не ищите смысла :)
                Ответить
                • Так ведь я и говорил не про смысл. А про смущение.
                  Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий