RADProgrammer Style Guide · radprogrammer/radteam Wiki
Posted by jpluimers on 2026/03/19
I missed the below repository as when it got introduced early 2021 I was very much coping with recovering from a truckload of procedures curing my rectum cancer and its metastases.
Anyway, [Wayback/Archive] RADProgrammer Style Guide · radprogrammer/radteam Wiki is yet a new style guide which unlike the others hopefully will be maintained.
Also unlike the others it stresses not to use a specific Delphi feature, in this case inline variables (introduced in 2018) because in 2021 the internal IDE tooling and run-time around it still had not caught up.
I have always generalised this to refrain from using new features until they are broadly supported in the product. The reasoning is that as for more than the last decade, the R&D team has a tendency to introduce features half baked, ticked a marketing feature in the product matrix then goes on with new features deferring work needed to actually make the feature useful towards the indefinite feature, so here is something you can quote me on
In Delphi, refrain from using new language features until the product fully supports it including at least these bits:
- documentation
- code generation / code completion
- run-time behaviour (like memory leaks)
- editor support (navigation, selection, expansion)
- code refactoring
- code formatting
- debugger support
They refer to it from [Wayback/Archive] RADProgrammer Style Guide Other Guidance · radprogrammer/radteam Wiki:
Do not utilize
inline variables(first introduced in 10.3 in November 2018) until the tooling catches up. Some examples include:
- Formatting:
- Refactoring:
- RSP-30155 When using inline variable, Refactor->Rename and Declare Variable functions do not work properly
- RSP-32507 Inline variable breaks the Methods drop-down box in Navigation Toolbar
- RSP-33176 Extract method refactoring broken by inline var definition
- RSP-33365 In-block variables break the “Find references”
- RSP-36998 Refactoring fails when using inline var delcarations
- Selection Expansion: (Ctrl-W)
- Debugging:
- Type Inference:
- Other:
Of the 15 issues mentioned, only 2 got resolved by the time I wrote this (spring 2023) which is a remarkably low track record:
- [RSP-32507] Inline variable breaks the Methods drop-down box in Navigation Toolbar – Embarcadero Technologies
- [RSP-36150] Memory leak: Inline interface variables in generic method – Embarcadero Technologies
It also shows the repeating of a consistent pattern over them last 2 decades that the R&D team hardly uses their own IDE features to the fullest. This is odd as the claim the IDE boosts productivity, so why do they not use it to boost their own?
Documentation links
- [Wayback/Archive] Inline Variable Declaration – RAD Studio
- [Wayback/Archive] Introducing Inline Variables in the Delphi Language
I included the last for two reasons:
- There is another tendency with the R&D team: they let employees document product features before updating the official product documentation wiki.
- The official documentation product wiki is far less stable than employee hosted blogs.
About Radteam and Radprogrammer
[Wayback/Archive] RAD Programmer ([Wayback/Archive] @RadProgrammer / Twitter) is driven by [Wayback/Archive] darianmiller (Darian Miller) ([Wayback/Archive] Darian Miller (@darianmiller) / Twitter).
[Wayback/Archive] radprogrammer/radteam: Resources for team members has both the above Style Guide as well as a set of custom formatter settings to match style guide.
Related Delphi/Object Pascal style guides
Back in 2022 I did manage to write this related blog post Reminder to self: write a more extensive blog post on Delphi style guides and code style in general, but still did not find time to write a more substantial one. Sorry (:
It does however list all the other Delphi style guides I found, so with this one I think the list is complete for now.
Via
[Wayback/Archive] RAD Programmer 💡 on Twitter: “Inline variables in Delphi seem great to use at first, but have some problems and are banned in our code. See updated style guide page for reasons: …”
–jeroen






Leave a comment