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

Samuel Herzog sam_herzog at yahoo.com
Sun Dec 14 17:48:48 CET 2008


For example:

procedure TControl.ParentFontChanged;
begin
  if csLoading in ComponentState then exit;

  if FParentFont then
  begin
    Font := FParent.Font;
    FParentFont := true;
  end;
end;       

or 

procedure TControl.AnchorAsAlign(TheAlign: TAlign; Space: Integer);
begin
  Parent.DisableAlign;
  try             

or

procedure TControl.CMParentColorChanged(var Message: TLMessage);
begin
  if csLoading in ComponentState then exit;
  
  if FParentColor then
  begin
    Color := FParent.Color;
    FParentColor := true;
  end;

or

procedure TControl.CMParentShowHintChanged(var Message: TLMessage);
begin
  if FParentShowHint then
  begin
    ShowHint := FParent.ShowHint;
    FParentShowHint := true;
  end;
end; 




________________________________
Von: Mattias Gaertner <nc-gaertnma at netcologne.de>
An: lazarus at lazarus.freepascal.org
Gesendet: Sonntag, den 14. Dezember 2008, 17:29:12 Uhr
Betreff: Re: [Lazarus] Had a look at control.inc..

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
_______________________________________________
Lazarus mailing list
Lazarus at lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20081214/456c666e/attachment-0007.html>


More information about the Lazarus mailing list