The new forums will be named Coin Return (based on the most recent vote)! You can check on the status and timeline of the transition to the new forums here.
The Guiding Principles and New Rules document is now in effect.

The hell of other peoples programms

SorcySorcy Registered User regular
edited November 2008 in Help / Advice Forum
Okay, so I work as a freelance web programmer (PHP, Javascript, HTML, Actionscript (Flash) and a dabbling bit of Java), which worked fine for me so far - now I have a contract with one of my most valued customers coming up. His main programmer got a baby, so he wants to only come in three days the week and I am supposed to fill out the other two days (boss likes to have someone around because of the whole "I need to see someone typing so I know there is programming being done" thing).

Problem is: I've worked with this guy before and our coding styles are like ... I don't know, two very different things that don't go well together AT ALL. But I am charged with coming up with a solution for this. So here what I have thought about so far:
  • Stringent documentation of all Classes and Scripts (so far he documents rarely or never, and when he documents his code it is often the most useless comments ever)
  • Stringent programming (have a standard for variable names, have clear names for methods
  • Have a Subversion Server, so that any code changes will be documented, we both can work on classes without getting in each others way
  • Have a global Todo List, so that we both know what has been done and what still has to be done.

So, for Documentation I thought about the JavaDoc Standard, as it is easily usable in both PHP and Actionscript. But how do I get him to actually comment his stuff without having to threaten his life?

Plus - while "coding standards" sounds like a good idea, has anyone a kind of "what works and what doesn't work"? All I've found so far are coding standards for C++, which can only be transfered to web languages so far before breaking...

Ozymandias+X.png
Sorcy on

Posts

  • peterdevorepeterdevore Registered User regular
    edited November 2008
    One tip I have for using a versioning system is to never commit anything that gives compile errors (if applicable). It's very frustrating to hunt through somebody else's code to disable unfinished parts, and on top of that you get a version conflict when he does get done with it, since you had to change it to compile.

    If you want a structured way of making a to-do/bug list, you could look into using a free ticketing system like trac. Trac integrates with SVN to give you nice diffs between versions (like wikipedia) and you can use special keywords in your code to tell it a ticket is done. It also gives the boss a way of measuring progress, since he can see which tickets get finished. For a two man team it might be more trouble than it's worth though. Assembla does free Trac/SVN hosting, and even includes a wiki which can serve as a low tech to do list alternative to trac.

    You might want to get him acquainted with the awesomeness that is Eclipse. Eclipse can handle a lot of the stuff you are dealing with when you install the right extensions. It can do pretty reformatting of HTML, Java and some other languages. Once you get him hooked on how JavaDoc integrates with it, letting you pull up the documentation as you are typing code, he might be more prone to use it himself. Eclipse also integrates with SVN through Subclipse, and with ticketing systems like Trac through Mylyn.

    peterdevore on
  • k-mapsk-maps I wish I could find the Karnaugh map for love. 2^<3Registered User regular
    edited November 2008
    You might want to get him acquainted with the awesomeness that is Eclipse. Eclipse can handle a lot of the stuff you are dealing with when you install the right extensions. It can do pretty reformatting of HTML, Java and some other languages. Once you get him hooked on how JavaDoc integrates with it, letting you pull up the documentation as you are typing code, he might be more prone to use it himself. Eclipse also integrates with SVN through Subclipse, and with ticketing systems like Trac through Mylyn.

    This. Eclipse + Subclipse combo is the best way to go for team development. I love Eclipse so much that I use it for everything ranging from writing papers to web browsing(has internal browser). Eclipse also facilitates good programming habits by auto-generating comments, creating classes that inherit methods from superclasses automatically and other neat features(creating method stubs, listing available methods for each class, compiling on-the-fly, etc...) Learning to use Eclipse will make you a better programmer.

    k-maps on
Sign In or Register to comment.