Я писал кучу кода несколько месяцев назад, а теперь добавляю к нему кое-что. . Я понял, что написал кучу функций, которые происходят от класса, который имеет примерно 2/3 абстрактных функций, а оставшуюся 1/3 виртуальных.
Мне очень надоело видеть:
function descendent.doSomething() : TList;
begin
inherited;
end;
, когда у меня есть это для базового класса:
function descendent.doSomething() : TList;
begin
result := nil;
end;
, и мне не хотелось бы заканчивать с:
function descendent.doSomething() : TList;
begin
end;
, а затем удивляться, почему что-то не работает.
Мне нравится использовать абстрактные функции, потому что компилятор сообщит вам, если вы можете получить абстрактную ошибку, потому что вы не реализовали некоторые функции.
Мой вопрос в том, что, поскольку я все еще относительно новый программист на Delphi, и мне никогда не приходилось поддерживать что-либо через 8 лет, стоит ли тратить время на обрезку кода таким образом ( т.е. удалите функции, которые только что унаследованы от них, и измените функции базового класса с абстрактных на конкретные)