[Lazarus] Identifier not found, but code completion works....

Alexander Klenin klenin at gmail.com
Sat Feb 19 16:27:51 CET 2011


On Sun, Feb 20, 2011 at 01:03, Mattias Gaertner
<nc-gaertnma at netcologne.de> wrote:

>1. It can redefine types. For example using the Windows unit redefines TRect.

On a half-related note, I think FPC would strongly benefit from Python-like
"limited import" feature.
Quote from http://docs.python.org/tutorial/modules.html#more-on-modules :
"Note that in general the practice of importing * from a module or package
is frowned upon, since it often causes poorly readable code. "

> 2. You can create "circular" dependencies without noticing.
> 2.1 Circular dependencies make it hard to tell the order of
> initialization sections.
...
> 2.3 Circular dependencies make refactoring a lot harder.

I still believe that a simple warning from FPC would go a long way
to fixing this problem.

> 3. The uses section is split, reducing readability.

I personally find the opposite -- if properly maintained,
the separate "uses" lists are giving reader additional information
about unit dependencies and at the same time reduce the amount
of dependencies one must scan in order to understand only
the unit interface (i. e. to use, not develop, a unit).

-- 
Alexander S. Klenin




More information about the Lazarus mailing list