The 975 day rewrite (and other helpful comments)



  • Despite the many WTFs surrounding the current project I work on, someone got the idea to start using CVS back in November 2005.

    It is really unclear how long this codebase has belonged, but the original revision was commited in November 2005.  With that revision, this comment appears in several places:

     

    /**********************************************************************************************************************/
      /**********************************************************************************************************************/
      /*********** DO NOT ADD ANY CODE BELOW HERE - ALL CODE BELOW IS NEW FOR THE RE-WRITE.  THANK YOU: PAULA *********/
      /**********************************************************************************************************************/
      /**********************************************************************************************************************/


    So far, this rewrite has lasted 975 days (at

    least), but Paula no longer works here.  In fact, I've never known a Paula here.

    Not all the developers act like they know how VCS works, nor how to use the tools available. 

    The following comments are added even to present day and are quite common:

     

    //////////////////////////////////////////////////////////////////////////////////////////
    ////////  The following if statement was added by Paula  /////
    //////////////////////////////////////////////////////////////////////////////////////////

    // Next line added by Paula

    // This line added by Paula

    <!-- tttravis commented out on 09-11-06

    <!-- tttravis added on 05-19-2008 -->

     

    // tttravis commented out temporarily on 07/26/07

    // tttravis added on 07/276/2007

     

    // if((numOfACatMins < 5   *** Commented out per CS ***
    //   && numOfObs == cntACat) && (previousCntlNumber != currentCntlNumber))

     

    else if (cat == "B")                    //elses added per CS; were separate if stmts

     

    if (sqlBuilder.exists()) {
      //tttravis modified on 05/25/2007: logging the error instead of throwing SQL exception
      //logger.error("Record already exists for control number " + RecordData.getCntlNumber());
      throw new SQLException("Record already exists for control number " + RecordData.getCntlNumber());
    } else {
      sqlBuilder.insertSQL();
    }

     

    private String[] effStrtDts;
    private String[] effEndDts;
    private String[] ids;
    private String[] names;
    private String[] statusInds;
    //tttran added comment on 08/07/07
    public static String[] oneTimeProc;
    public static String[] oneTimeAm;
    public static String[] oneTimeNames;



  • Brillant! Now we know where she went!



  • Ok so your point is...what?

    Oh noes that comment is 3 years old. Um...and? 3 years is barely in a real dev cycle. Try 3 decades, then come back to me with the "oh noes".

    As far as the other comments...well from the look of things you're working in a little dev shop, and those types of comments tend to work fine in small environments. It looks like work-in-progress comments which were just never removed.

    I fail to see the relevance.



  • Heh. I usually leave some dead comments on sourcecode, but that is because over here, we use SVN and I'm not allowed to do branches; we all use the HEAD branch for committing. Same thing for tags ... sometimes I miss CVS as branches/tags didn't use this wacky URL thingy for that.

    Some comments, however, are vital because we have some newbie devs, and I've had at least one that was directly instancing an EJB in the form:

    MyEJBeanImplementation bean = new MyEJBeanImplementation();

    and then complained why it was acting weird. So now I have comments like // THIS IS HOW YOU DO IT! REALLY!



  • @danixdefcon5 said:

    I'm not allowed to do branches; we all use the HEAD branch for committing

    You're missing out.. Branches help you maintain a released product while you work in the trunk for a new product. Sometimes you need that isolation just to keep your head on straight. Depending on changes, you can always merge your changes either way if you need to roll some fixes in.



  • @danixdefcon5 said:

    Heh. I usually leave some dead comments on sourcecode, but that is because over here, we use SVN and I'm not allowed to do branches; we all use the HEAD branch for committing.

    Wow, Jesus...  why even use version control then?

     

    @danixdefcon5 said:

    Same thing for tags ... sometimes I miss CVS as branches/tags didn't use this wacky URL thingy for that.

    Are you serious?  SVN's branching is far more elegant and easy than CVS's.  I love how everything is essentially just a directory structure and you can lay it out however you want.



  • @morbiuswilters said:

    @danixdefcon5 said:
    Same thing for tags ... sometimes I miss CVS as branches/tags didn't use this wacky URL thingy for that.

    Are you serious? SVN's branching is far more elegant and easy than CVS's. I love how everything is essentially just a directory structure and you can lay it out however you want.


    "Branching by copying" (even if copying is cheap), and putting branches into the same namespaces as directory tree of
    a project are onw of the worst Subversion ideas.

    To have branches implemented correctly try <a href=""http://git.or.cz">Git.



  • @jnareb said:

    "Branching by copying" (even if copying is cheap), and putting branches into the same namespaces as directory tree of a project are onw of the worst Subversion ideas.

    Care to provide any reason for this or are you just talking out of your ass?  I like the visibility and simplicity of SVN's branching system.  Now, the merging still needs some work but 1.5 improved on that a bit and it continues to be a high priority for the SVN devs. 



  • @TheGrue said:

    Ok so your point is...what?

    Oh noes that comment is 3 years old. Um...and? 3 years is barely in a real dev cycle. Try 3 decades.

     

    3 decades. Like this?



  • @morbiuswilters said:

    @jnareb said:

    "Branching by copying" (even if copying is cheap), and putting branches into the same namespaces as directory tree of a project are onw of the worst Subversion ideas.

    Care to provide any reason for this or are you just talking out of your ass?  I like the visibility and simplicity of SVN's branching system.  Now, the merging still needs some work but 1.5 improved on that a bit and it continues to be a high priority for the SVN devs. 

    I kind of like the URL idea, but only partially. Its nice to have only a URL pointing to the actual project, and checking out from there. But having the branch work as a different URL just confuses me ... CVS would use the same module name, and handle branching/tagging apart from that. I really, really would like to use branching/tagging on these projects, because without these I have to manually search the changelog to find the last stable "release". Not to mention when some of those "brillant" devs do something stupid, and then commit their WTF code to the HEAD branch.

    If tags were managed independently from the URL, I wouldn't complain at all. Though I'd still have to jump hoops over the "one branch to rule them all" policy...


Log in to reply