[swift-evolution] Optional "endfor", "endif", etc after closing "}"

Greg Parker gparker at apple.com
Sat Dec 12 15:35:46 CST 2015


> On Dec 12, 2015, at 5:41 AM, Al Skipp via swift-evolution <swift-evolution at swift.org> wrote:
> 
>> On 12 Dec 2015, at 13:31, Marc Knaup via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>> I'm also against any kind of markers to annotate the end of a block.
>> 
>> If the code inside a if/guard/loop/do/func/var/… block is so long that the developer thinks about annotating the closing curly brace then they should instead break it down into smaller pieces. Move parts into separate functions and replace it with calls to these functions.
>> This makes the block shorter, much easier to understand and the function names will aid as additional documentation.
> 
> I completely agree. 
> 
> If code becomes so impenetrable that you need to annotate the end of blocks to assist comprehension, then the code needs refactoring.

Or a better editor. Modern code editors have affordances to improve readability of such code, such as highlighting matching braces, coloring nested scopes, or folding and unfolding scopes.

One advantage of the editor-based approaches is that they don't make editing more difficult. You don't need to write any scope annotations and you don't need to keep them up to date as the code changes.


-- 
Greg Parker     gparker at apple.com <mailto:gparker at apple.com>     Runtime Wrangler


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20151212/fd912cc4/attachment.html>


More information about the swift-evolution mailing list