[Insight-developers] Request for Comment: ITK Style rule that typedefs need to be aligned

Bill Lorensen bill.lorensen at gmail.com
Fri Feb 1 16:35:34 EST 2013


I agree with Matt.

On Fri, Feb 1, 2013 at 4:30 PM, Jean-Christophe Fillion-Robin
<jchris.fillionr at kitware.com> wrote:
> Agreed, make it easier.
> To prevent "obfuscation of the code", what about adding a separate commit
> that would fix the alignment.
> Jc
>
>
> On Fri, Feb 1, 2013 at 4:26 PM, Cory Quammen <cquammen at cs.unc.edu> wrote:
>>
>> I second Matt's opinion. Alignment of the typedefs makes it much
>> easier to find a particular typedef visually.
>>
>> Cory
>>
>> On Fri, Feb 1, 2013 at 4:06 PM, Matt McCormick
>> <matt.mccormick at kitware.com> wrote:
>> > Hi Hans,
>> >
>> > I am of the opinion that the alignment makes the code easier to read.
>> > The emphasis may or may not be correct, but my eyes can pass over an
>> > aligned section much quicker and understand than one that is not.
>> >
>> > Thanks,
>> > Matt
>> >
>> > On Fri, Feb 1, 2013 at 5:36 PM, Johnson, Hans J <hans-johnson at uiowa.edu>
>> > wrote:
>> >> Hello ITK community,
>> >>
>> >> I'd like to take a poll about your feelings regarding an ITK style
>> >> decision
>> >> that has been in place for a very long time.
>> >>
>> >> The ITK style guide states that all typedefs that are on adjacent lines
>> >> MUST
>> >> be justified the same.  While I think that this is often a good
>> >> practice,
>> >> this rule also obfuscates the code sometimes, and it makes unnecessary
>> >> changes in code that is unrelated to the line of code in question (for
>> >> example, if an internal type name is renamed to better represent the
>> >> code,
>> >> the 10 typedefs around that one also need to change).
>> >>
>> >> As a side note, the "Clean Code" book advices against such alignement
>> >> as it
>> >> emphasizes a relationship between the elements in a column. It should
>> >> instead emphasize the relationship between the elements in a row (when
>> >> you
>> >> look at those lines, it's usually to know what is the type of the
>> >> variable
>> >> -> horizontal relationship).
>> >> This also has 2 practical limitations:
>> >> - when the variable type or name are long too long that it reach the
>> >> number
>> >> of characters per line.
>> >> - adding a new type with a name longer than the existing forces all the
>> >> other rows to be changed, which adds noise into the history.
>> >>
>> >> NOTE:  Making this change in style policy will NOT require any code to
>> >> be
>> >> changed.  It does allow more flexibility in the future.
>> >>
>> >> ============================
>> >> Please respond to this message so that a historical record of this
>> >> proposals
>> >> pro's/con's can be recorded on the mailing list.
>> >>
>> >> Thanks,
>> >> Hans
>> >>
>> >>
>> >>
>> >> =================================================================
>> >> Hans J. Johnson, Ph.D.
>> >> Assistant Professor, Department of Psychiatry
>> >>
>> >> Mailing Address:
>> >> W274 GH                             Email: hans-johnson at uiowa.edu
>> >> 200 Hawkins Drive                   Phone: (319) 353 8587
>> >> The University of Iowa
>> >> Iowa City, IA 52242
>> >>
>> >>
>> >> ________________________________
>> >> Notice: This UI Health Care e-mail (including attachments) is covered
>> >> by the
>> >> Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is
>> >> confidential
>> >> and may be legally privileged.  If you are not the intended recipient,
>> >> you
>> >> are hereby notified that any retention, dissemination, distribution, or
>> >> copying of this communication is strictly prohibited.  Please reply to
>> >> the
>> >> sender that you have received the message in error, then delete it.
>> >> Thank
>> >> you.
>> >> ________________________________
>> >>
>> >> _______________________________________________
>> >> Powered by www.kitware.com
>> >>
>> >> Visit other Kitware open-source projects at
>> >> http://www.kitware.com/opensource/opensource.html
>> >>
>> >> Kitware offers ITK Training Courses, for more information visit:
>> >> http://kitware.com/products/protraining.php
>> >>
>> >> Please keep messages on-topic and check the ITK FAQ at:
>> >> http://www.itk.org/Wiki/ITK_FAQ
>> >>
>> >> Follow this link to subscribe/unsubscribe:
>> >> http://www.itk.org/mailman/listinfo/insight-developers
>> >>
>> > _______________________________________________
>> > Powered by www.kitware.com
>> >
>> > Visit other Kitware open-source projects at
>> > http://www.kitware.com/opensource/opensource.html
>> >
>> > Kitware offers ITK Training Courses, for more information visit:
>> > http://kitware.com/products/protraining.php
>> >
>> > Please keep messages on-topic and check the ITK FAQ at:
>> > http://www.itk.org/Wiki/ITK_FAQ
>> >
>> > Follow this link to subscribe/unsubscribe:
>> > http://www.itk.org/mailman/listinfo/insight-developers
>>
>>
>>
>> --
>> Cory Quammen
>> Research Associate
>> Department of Computer Science
>> The University of North Carolina at Chapel Hill
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Kitware offers ITK Training Courses, for more information visit:
>> http://kitware.com/products/protraining.php
>>
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-developers
>
>
>
>
> --
> +1 919 869 8849
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.php
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-developers
>



-- 
Unpaid intern in BillsBasement at noware dot com


More information about the Insight-developers mailing list