Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at

  • montana 42 posts 63 karma points
    Sep 14, 2010 @ 23:19

    coding practices, developer guidelines

    I haven't snooped around too much here but it seems apparent from the application source that there is some need of more strict developer guidelines. There are some poor practices in place which could detract from what I find to be an excellent application thus far.

    I find small issues like the following:

    ... UmbClientMgr.historyManager().getCurrent() != "" ? UmbClientMgr.historyManager().getCurrent() ...

    usage of the UmbClientMgr.historyManager().getCurrent() function is repeated here, wastefully.

    This would be more efficiently written as follows:

    var umb_current = UmbClientMgr.historyManager().getCurrent();

    ...umb_current != "" ? umb_current ...

    just one example - most of my gripes are with non RAD coding practices [lots of onconsistency]

    I'm also finding lot's of inline hardcoded styles [administrative interface] and inconsistent indenting, sloppy code formatting, etc that are detracting from the development experience. I would personally vote for google's or the Sun/Oracle developer guidelines [if I had any say].

    I plan on branching this application and contributing as much as possible, was wondering if there is any concensus from contributors on guidelines.

    No offense to anyone, just trying to contribute


    All of the links on the right, "Similar Topics" pane, link to the same place?



  • Qube 74 posts 116 karma points
    Sep 15, 2010 @ 02:33

    Hi montana. Yeah, I noticed similar things early on. Although I think Microsoft's naming guidelines are more applicable than Sun or Google given the platforms we're all working with :)

    Obviously the core team work incredibly hard and incredibly fast to bring new features and improvements to Umbraco, so it's a bit hard to nitpic. But at some point I'd love to see a feature freeze so they can spend some time going horizontal instead of vertical with the code base. Get the assembly names in order, remove redundancy and copied code, apply a consistent naming convention etc.

    But there is an aweful lot of work in that, and that's without considering legacy wrappers created for deprecated code etc. Chances of that winning a resource race against new powerful features? Slim to none :P

  • montana 42 posts 63 karma points
    Sep 15, 2010 @ 03:25

    Well us linux cats are a picky bunch. I'll donate a couple of days to it, I expect I'll completely rededicate this app and bring it into the RAD zone.

    It's well worth it to standardize coding practices bar none. I've already gutted the app and found some things that are just not going to make it long term...

    compiled code generating markup with hard coded styles for example... just not a good idea even from the quick and dirty perspective.

    more MVC, less old school

    I'm working on a framework right now and we're taking the approach of complete separation of interface from controller - even to the point of generating view config and then handing that to the renderer... makes skinning everything an amazingly easy thing!


  • Steen Tøttrup 191 posts 291 karma points c-trib
    Sep 15, 2010 @ 07:29
    Steen T√łttrup

    Most people around here take the more pragmatic approach! How does the app work, does it satisfy your needs, well, then use it, if not, don't!

    I bet even you linux people don't believe that all code in the linux core is pure, 100%, sexy code?

    Well, stick around, the next major version will be running on ASP.NET MVC.


  • Richard Soeteman 3970 posts 12472 karma points MVP
    Sep 15, 2010 @ 08:00
    Richard Soeteman

    Hi Montana,

    Thanks for reporting. The next version of Umbraco (V5) will be rebuild (from scratch). It will be a an MVC app as steen mentioned and it will follow proper Coding Guidelines. I don't think that V4 will be refactored to folow proper guidelines because a lot of people build stuff on this API and it will cause packages etc to break.

    Follow the blogposts to see the progress of V5 (I've heard that they start blogging about V5 this week) and get involved on this forum



  • Matt Brailsford 3631 posts 19228 karma points MVP 9x c-trib
    Sep 15, 2010 @ 09:39
    Matt Brailsford

    Hey Montana,

    I agree it would be nice for the core to be more consistant in this way, but having worked with umbraco for a year now, and developed a number of packages, I can honesly say I have never needed to modify the core (ok, maybe I've submitted a few patches, but not many). I look at Umbraco as a base framework, and something that I can extend, rather than modify. So yea, it may not be coded the best way, but as I only work with the dlls, I can easly ensure my coding follows more rigarous standards.

    Take a look at Arron Powells blog, specifically his Unit testing with Umbraco post, for some good examples.


  • montana 42 posts 63 karma points
    Sep 15, 2010 @ 18:34


    Awesome news! It's definitely worthwhile to adhere tightly as possible to standards. Again let me say that I'm so happy about a .NET open source project, especially with a community and core development team with passion about making a great application. It's very exciting. It allows for developers like me to seriously look at Windows for web development [outside of corporate intranet/sharepoint] again.

    I've been writing frameworks for some time now primarily in php, specifically for LAMPP [mysql/postgres]

    I'm Engineering Director for my company, so of course the first thing I do is look at practical issues like overall application architecture and rigidity of development semantics... it's in my nature.

    Most kind regards, Thank you!

Please Sign in or register to post replies

Write your reply to: