I admit it; I've got problems. I get itchy when my code isn't arranged in the right order, I get the shakes when I open a file and see code sprawling all over the place, I get nervous when my fields aren't prefixed with an underscore. So I work to my own personal style, strictly adhering to some key guidelines.
Private Fields Are Underscored
This helps me tell at a glance whether the variable I'm assigning to is class-level or method level. It provides a little bit of context and a reminder of where a variable belongs in a class - is a throwaway variable or could other methods be working with it?
Tabs, Not Spaces
This is probably the subject of a thousand flame-wars on forums and mailing lists across the internet, but I opt for tabs. I also work with Visual Studio's "View White Space" option switched on so I can check for excess tabs and line breaks more easily. I told you I had a problem.
Regions Are Your Friend
When I open a class file, I've usually got a purpose in mind, and seeing reams of code is a surefire way to make me dismay. On the other hand, opening a file which is organised using regions means I can quickly focus on the area I want to act upon. It also allows me to collapse the code I've been investigating back to an "overview" state using Visual Studio's CTRL+M, CTRL+O shortcut.
Save Me, Resharper
As with most Visual Studio operations, Resharper is there to help. In this case, JetBrains provided a great new feature for R#3 - the Type Members Layout options. By supplying an XML layout, you can tell R# to reorganise your code into a specific order within specific regions. I've uploaded my current Layout XML, which will reorganise your code in my style - fields, properties, constructors then methods - all within their own region. If only JetBrains could come up with something to enforce naming conventions and other coding styles!
Conclusion
I've heard people a number of times that it's better to enforce any coding style, even if your team doesn't agree with some aspects, than to not enforce anything at all. I totally agree with this statement - from C# to Javascript to CSS and SQL, if you make sure your developers work to a single standard you can be sure they can jump into a file and not be terrified. Ok, not be really terrified anyway. Let me know about the guidelines your company enforces and which tools, if any, you use to do so!
Posted
Sep 25 2007, 10:38 PM
by
cramsay