[Adium-devl] Adium documentation
Ofri Wolfus
ofri.wolfus at gmail.com
Sun Mar 18 21:29:53 UTC 2007
On 18/03/2007, at 23:18, disposable at infinitenexus.com wrote:
> On Mar 18, 2007, at 3:48 PM, Ofri Wolfus wrote:
>
>> It doesn't have to be more work. When there is proper
>> documentation in the headers, comments in implementation files are
>> only needed to explain non-trivial stuff and internal design
>> decisions, meaning not every little bit must have comments. Most
>> of the time, actually, there will be no need for internal comments
>> as the comments in the headers will do the job. Done right, we'll
>> have everything documented once but separated to parts that are
>> more obvious to look at.
>
> I'd disagree here. The API comments in the header should elucidate
> functional intent, parameters, requirements, and any necessities
> but not design decisions. (AppKit doesn't tell me why they
> architected NSTextView as they did, it tells me how it operates
> only to the degree I need to work [i.e., hit the NSTextStorage for
> string-level control] ... I'd bet they know on the inside though ;)
> It can be logically solved, but it's not documented.)
Isn't that what I said? It's at least what I intended...
>
> That does not supplant a coding level insight spelled out in the
> comments of the .m itself. For example, from Growl, the positioning
> code. There's API documentation for it's intended use, but not a
> history of what the coder[s] were thinking when they started coding
> the internals. Thus you create an impedance mismatch because a
> coder walking up to a given piece will have to intuit what went
> into the code beyond what is in the API (and that shouldn't occur
> when you work with the implementation.)
>
> More simply put, there's no valid argumentation for lacking
> comments in an implementation files and no reason for codifying
> design decisions in API documentation IMO.
We probably think of the term "design decisions" a bit different
here. What I meant was implementation decisions (which are the way
the internals are designed) shouldn't be available to headers but
included in the implementation files. I guess we agree here but just
didn't understand each other :)
- Ofri
- - - - - - - - - - - - - - - - - - -
http://www.dpompa.com
- - - - - - - - - - - - - - - - - - -
>
> - brian 'bgannin' ganninger
>
>>
>
>>
>> On 18/03/2007, at 21:35, disposable at infinitenexus.com wrote:
>>
>>> Although it means more work I fall into favoring a dual approach
>>> - verbose headers that plugin devs will find useful (in actuality
>>> this likely falls within a scope of certain classes, not the
>>> entire codebase) with plenty of documentation in the
>>> implementation files (all of the codebase) that lists notes about
>>> design decisions, gotchas, etc. and provide clarity into the
>>> working of the method.
>>>
>>> - brian 'bgannin' ganninger
>>>
>>> On Mar 18, 2007, at 4:22 AM, Colin Barrett wrote:
>>>
>>>> Hrm. Does anyone else (Brian? Evan?) have feelings either way?
>>>> Patrick's point about this making lives harder for plugin
>>>> developers
>>>> is a good one.
>>>>
>>>> Perhaps we should move Doxygen documentation into the .h files.
>>>>
>>>> -Colin
>>>>
>>>> On Mar 17, 2007, at 11:10 PM, Patrick Gibson wrote:
>>>>
>>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>>> Hash: SHA1
>>>>>
>>>>> As a plugin developer I'd like to chime in my $0.02 and say
>>>>> that the
>>>>> documentation is best placed the header. It's kinda annoying to
>>>>> have
>>>>> to have the Adium Xcode project open along side a plugin
>>>>> project I'm
>>>>> working on, just to read the docs.
>>>>>
>>>>> Sincerely,
>>>>> Patrick G. ~ PGP Public key ID: 126B7A56
>>>>>
>>>>>
>>>>> On 17-Mar-07, at 9:24 PM, Peter Hosey wrote:
>>>>>
>>>>>> On Mar 17, 2007, at 17:19:12, Colin Barrett wrote:
>>>>>>> Usually documentation is put in header files because the
>>>>>>> implementation will be closed-source.
>>>>>>
>>>>>> Usually the documentation is in the header files because the
>>>>>> API is
>>>>>> in the header files, and the documentation goes with the API.
>>>>>> This
>>>>>> is what Growl does.
>>>>>>
>>>>>> Having the docs in the .m files puts lots of implementation
>>>>>> code in
>>>>>> between runs of documentation, which makes the documentation hard
>>>>>> to read (which has the side-effect of making it more important to
>>>>>> adhere to Doxygen rules so that Doxygen HTML can be generated,
>>>>>> since that's the only way to effectively study the API without
>>>>>> constantly scrolling past bunches of implementation).
>>>>>> ___________________________________
>>>>>> \ Peter Hosey / boredzo at adiumx.com
>>>>>> PGP public key ID: C6550423 (since 2007-01-01)
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Adium-devl mailing list
>>>>>> Adium-devl at adiumx.com
>>>>>> http://adiumx.com/mailman/listinfo/adium-devl_adiumx.com
>>>>>
>>>>> -----BEGIN PGP SIGNATURE-----
>>>>> Version: GnuPG v1.4.5 (Darwin)
>>>>>
>>>>> iD8DBQFF/NfPjipUTRJrelYRAuswAJwMkFHyImBL+heNjqp8cRjd9ELclgCgn7y4
>>>>> h4UC2o1mob6oxst7ky3/XMo=
>>>>> =A+y7
>>>>> -----END PGP SIGNATURE-----
>>>>>
>>>>> _______________________________________________
>>>>> Adium-devl mailing list
>>>>> Adium-devl at adiumx.com
>>>>> http://adiumx.com/mailman/listinfo/adium-devl_adiumx.com
>>>>
>>>>
>>>> _______________________________________________
>>>> Adium-devl mailing list
>>>> Adium-devl at adiumx.com
>>>> http://adiumx.com/mailman/listinfo/adium-devl_adiumx.com
>>>>
>>>
>>> _______________________________________________
>>> Adium-devl mailing list
>>> Adium-devl at adiumx.com
>>> http://adiumx.com/mailman/listinfo/adium-devl_adiumx.com
>>
>> _______________________________________________
>> Adium-devl mailing list
>> Adium-devl at adiumx.com
>> http://adiumx.com/mailman/listinfo/adium-devl_adiumx.com
>
> _______________________________________________
> Adium-devl mailing list
> Adium-devl at adiumx.com
> http://adiumx.com/mailman/listinfo/adium-devl_adiumx.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20070318/bc533329/attachment-0001.html>
More information about the devel
mailing list