понедельник, 5 сентября 2016 г.

#1254. Ссылка. Why NULL is Bad?

2 комментария:

  1. Уже давно, и даже очень давно, пришёл к такой практике:
    а) метод FindSomething может вернуть nil (если не нашёл)
    б) метод GetSomething не может вернуть nil

    Ну и реализация метода Get сводится к вызову Find и проверки результата на nil (если nil - exception).
    Есть, конечно, и другие сценарии, типа FindOrCreate, либо, например, такое:

    function FindX(const ASearchParams: ..; var AnInstance: ..): Boolean;

    И где-то в коде:
    if FindX(A, B) and FindY(B, C) then
    C.Hello
    else
    NotFound;

    --
    Вот про сеттеры и геттеры интересней заметка. Но тут в двух словах все мысли не выразить.

    ОтветитьУдалить
    Ответы
    1. Я тоже стараюсь nil не возвращать, но есть много всяких "но".

      Про геттеры я тоже читал. Есть о чём подумать. Не могу сказать, что со всем согласен.

      Удалить