One thing I don't understand is why Lazarus doesn't remove empty methods upon compiling app. Delphi had it since... forever?
For those that may say that it is useful for stubs... Well, I've said *empty* methods. If you will need it later on because it's stub, it should be enough to put comment there in order to it not being removed.
So following method:
procedure Form1.OnClick(Sender:TObject);
begin
end;
would get removed upon compiling application, but following
procedure Form1.OnClick(Sender:TObject);
begin
//stub
end;
or even
procedure Form1.OnClick(Sender:TObject);
begin
//
end;
would not. This is particularly useful for those who missclicked event handler field (instead of double clicking, e.g. Form.OnClick, clicked Form.OnClose and thus made unnecessary method) or those who clicked proper handler, but later on found better solution which made it pointless (and empty).
If you still aren't convinced, it can be always made an option (opt-in or opt-out - I don't care).