Re: [fpc-other] To nest or not to nest

2018-07-05 Thread Graeme Geldenhuys
On 07/05/18 08:59, Santiago A. wrote:
> 1) In OOP, they save me jumping to the interface to declare things.

That's what I love about Java (compared to Object Pascal and C/C++) - no
header required. Makes the code so much simpler, and I can drag and drop
to reorder methods as needed.

Anyway, I think Lazarus IDE can automatically declare methods for you in
the interface section - I think.

> 2) It shortens bodies, so they can fit in a screen.
> 2) It allows me declaring objects near to where they are used and easily 
> encapsulate variable names.
> 3) They save a little of stack.

Overall, it's your preference. At least the good thing is, your are
breaking up large bodies of code into smaller chuncks. That's a good thing.

Alternatively, I'll create a class that does all the work I need. That
also makes it easier to unit test.


> The cons: Most tools are not very nested routines friendly. Debuggers 
> have problems with them, code tools are not aware of nested routines.

I know for a fact the Procedure List functionality (Ctrl+G) does support
nested methods.


Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


[fpc-other] To nest or not to nest

2018-07-05 Thread Santiago A.

Hello:
I use a lot nested procedures and functions, in fact, whenever I can. 
For instance:  I divide long bodies in small nested procedures. In OOP, 
If a private method is called only by a procedure, I convert it into a 
nested routine. In case statements, if the body of a label has more than 
a few lines, it calls to a nested proc. If statements, if the THEN and 
the ELSE have long bodies, I convert them into nested procs.

I love nested routines, I abuse of them.
Why?

1) In OOP, they save me jumping to the interface to declare things.
2) It shortens bodies, so they can fit in a screen.
2) It allows me declaring objects near to where they are used and easily 
encapsulate variable names.

3) They save a little of stack.

The cons: Most tools are not very nested routines friendly. Debuggers 
have problems with them, code tools are not aware of nested routines. 
Many people that use other languages say "Why? what do you want it for?"


What are your feelings towards nested routines?

--
Saludos

Santiago A.

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other