I have never seen anyone use this. Why? Because it is relatively unknown and 
not very “pretty” in my opinion. In the ideal world, everyone would have 
perfectly formatted and up to date comment, but I am not convinced this is 
usually the case.

It’s good for IDE documenting, but:
• Online tutorials do NOT use this in code samples, keeping it from being 
widely known (and because it looks ugly next to their sample and makes it look 
more verbose)
• It really does not look nice with the language. It seems like IDE magic
• What about people writing in a text editor or not in Xcode? If they do not 
get a benefit out of // MARK: or /// - Keyword: why would they use it?

And a quick read of Matthew’s proposal tells me that it may be beneficial to be 
able to refer to the name of an extension in the future. I am still reading 
through his proposal but that’s what I took from it with a quick look.


Brandon

> On May 16, 2016, at 3:08 PM, Erica Sadun <[email protected]> wrote:
> 
> Or better yet, the 'Keyword" token offers searchable content that can relate 
> one extension to the other.
> 
> /// - Keyword: Lifecycle extension
> 
> -- Erica
> 
> 
>> On May 16, 2016, at 11:33 AM, Michael Peternell via swift-evolution 
>> <[email protected]> wrote:
>> 
>> Why not just use a (documentation) comment?
>> 
>> /// The Lifecycle extension:
>> extension ViewController {
>> ...
>> 
>> -Michael
>> 
>>> Am 16.05.2016 um 18:26 schrieb Brandon Knope via swift-evolution 
>>> <[email protected]>:
>>> 
>>> I like to separate methods into their own logical extensions so similar 
>>> methods are grouped together. I do this mostly with Cocoa Touch where I 
>>> like all view life cycle methods to be in the same extension:
>>> 
>>> extension ViewController {
>>>   override func viewDidLoad() {
>>>   }
>>> 
>>>   override func viewWillAppear(animated: Bool) {
>>>   }
>>> 
>>>   override func viewDidDisappear(animated: Bool) {
>>>   }
>>> }
>>> 
>>> You can document this somewhat by adding a MARK comment:
>>> 
>>> // MARK: Lifecylce
>>> extension ViewController {
>>>   override func viewDidLoad() {
>>>   }
>>> 
>>>   override func viewWillAppear(animated: Bool) {
>>>   }
>>> 
>>>   override func viewDidDisappear(animated: Bool) {
>>>   }
>>> }
>>> 
>>> What if we made this more self-documenting by elevating this to a language 
>>> feature?
>>> 
>>> extension ViewController named Lifecycle {
>>>   override func viewDidLoad() {
>>>   }
>>> 
>>>   override func viewWillAppear(animated: Bool) {
>>>   }
>>> 
>>>   override func viewDidDisappear(animated: Bool) {
>>>   }
>>> }
>>> 
>>> Other ways:
>>> extension named Lifecycle ViewController { }
>>> extension named “View Lifecycle" ViewController { }
>>> extension ViewController named “Multi word description” { }
>>> 
>>> 
>>> For now, this is purely a documenting feature (i.e. Can’t refer to the 
>>> extension name dynamically or statically in actual code). I think it plays 
>>> much more naturally with Swift than requiring this to be in the comments 
>>> and would work across all IDEs and make it easier for people to find a 
>>> specific extension as well as making their code more self documenting.
>>> 
>>> Any thoughts?
>>> 
>>> Thanks,
>>> Brandon
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> swift-evolution mailing list
>>> [email protected]
>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> [email protected]
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to