Project templates

I didn’t thought about overriding stuff, because I like to use unit names to refer the one I want to use (that’s another example of “being verbose” and that).

By the way, maybe the most annoying thing I see is the indentation. Let me paste a little example of how I indent code:

unit ExampleUnit;
(* An example of how I do indentation in my code.  You'll see some original
   things here, like how I align the comment blocks and other stuff.

   Pay attention to the next line!
 *)

interface

  uses
    sysutils, Classes,
    UnitUsed, AnotherOne, Blablablah;

  const
  (* This explains the next constant. *)
    ValueUsedSomewhere = 10;

(* Now, a procedure declaration. *)
  procedure RoutineThatDoesSomething (aParameter: Integer);

implementation

  uses
    StringUtils; { For example. }

  procedure RoutineThatDoesSomething (aParameter: Integer);
  begin
  { And here, we have some code (random, at the moment). }
    if aParameter < 10 then
      WriteLne ('The value is small.');
  { I think you get the idea.

    By the way, I want to show some extreme cases because maybe you find
    them interesting.
  }
    CallingWithLotOfParameters
    (
      'A value here',
      ValueThere,
      123123123,
      YabadbaDoo
    );
    if (VeryLargeName <> AnEvenLargerNameThanTheOther)
    and (VeryLargeName <> AnotherThing)
    then
    begin
      Blabla := aParameter;
      CallSomething (aParameter + 1)
    end
  end;

end.

I don’t know how do you see it. I understand that it adds more indentation but I find it more easy to read than most of other’s code I’ve seen out there; specially the long routine call and the long if statement are quite easy to find the ending. Note that I use Vim mostly and it is a bit uncomfortable with long lines; I tend to use up to 80 character lines but I exceed that limit sometimes when I feel it.