[Lazarus] Had a look at control.inc..

Mattias Gaertner nc-gaertnma at netcologne.de
Sun Dec 14 17:29:12 CET 2008


On Sun, 14 Dec 2008 06:48:58 -0800 (PST)
Samuel Herzog <sam_herzog at yahoo.com> wrote:

> Hi folks,
> I had some minutes of sparetime and went through control.inc.
> 
> Two things I d' like to ask:
> 
> 1.) sometimes "parent"/"FParent" are checked for nil, before the
> method access it, and sometime not. Is this by purpose or are this
> potential Access-Violation candidates.

For example?

 
> 2.) In my programming-style I often check the conditions of input
> parameters at the begin of the method and leave with "exit"-statement
> if the conditions do not match the current needs.
> 
> As for example like here:
> procedure TControl.ParentFontChanged;
> begin
>   if csLoading in ComponentState then exit;
> 
> Such things make the code much better readable.
> 
> I also use this in situations like this:
> 
> procedure TControl.SetColor(value : TColor);
> begin
>   if FColor <> Value then
>   begin
>     FColor := Value;
>     FParentColor := False;
>     Invalidate;
>   end;
> end;
> There is no need for begin/end-statement.
> if FColor=Value then exit;
> 
> Are there any rules for lazarus in this case or can everyone handle
> this as he likes ?

Some people consider 'exit', break' and 'continue' as harder to read.
IMO it is a matter of taste and both are equally readable, so both
should be allowed.

see
http://wiki.lazarus.freepascal.org/DesignGuidelines


Mattias



More information about the Lazarus mailing list