Продолжаем обсуждение стиля обджект паскаль кода .
При изучении стандартотв embarcadero, и в стандарте JEDI
http://wiki.delphi-jedi.org/index.php?title=Style_Guide#class_.2F_interface_Na ming
у меня возникли следующие вопросы:
1) В документах сказано, что любое поле класса должно быть в секции private. С одной стороны это, конечно, правильно, с другой, сам я частенько засовывал поля в protected. Как считаете вы?
2) В статьях используются следующий пример определения класса
Код:
TMyClass = class(TObject)
private
FMyData: Integer;
function GetData: Integer;
procedure SetData(Value: Integer);
public
published
property MyData: Integer read GetData write SetData;
end;
Получается, что свойства, по-умолчанию, должны быть в published. Сам я пользовался published только при разработке компонентов, и в published переводил только свойства, и только те свойства, который имели смысл вне рантайма. С другой стороны, все published свойства\методы попадают в RTTI и могут быть использованы не только в рамках Object Inspector'а. Сам я RTTI не пользовался, в связи с этим вопрос: какие плюсы\минусы это дает. Другими словами, какими правилами следует руководствоваться?