PHP Developers Network
http://forums.devnetwork.net/

DN Forum project - development process and standards
http://forums.devnetwork.net/viewtopic.php?f=7&t=104979
Page 1 of 3

Author:  Eran [ Wed Aug 19, 2009 3:47 pm ]
Post subject:  DN Forum project - development process and standards

Spinning off from the original subject thread -
I'm starting off a discussion on the development process and standards for an open-source forum community project that could possibly be used to power DN in the future. I'm writing this in the hopes the some of you show interest and sign abroad in order to move to more concrete parts.

What we need to address:
- Coding standards, including file formatting, naming conventions, comments and general style.
- Contribution format and moderation of contributions
- How to organize discussions and make decisions
- Organizing code structure (and possibly choosing a framework to base work on)

My take on those issues:
1. Coding standards
Personally I use the Zend Framework coding standards - , which are a derivation of the PEAR standards - . There are a lot of small variations, but generally it is considered the de-facto standard for PHP (at-least, the most widely accepted one).

Maintaining a consistent coding standard is essential for keeping the source code maintainable and portable between developers. Also, one of the objectives of the project is to create a package which can be used by the community, and in that case it's best to use the most commonly used standard.

2. Contribution format + moderation
In order to share the source code during development and retaining rollback capability, source code should be placed on an online source-versioning repository (such as SVN). There are several sites that host such repositories for open-source projects, such as google code and sourceforge.

Participating members would be given commit privileges to the repository. Commits should occur often to prevent difficult merges (those happen when there two developers submit modifications to the same piece of code), and be accompanied with meaningful messages detailing the changes committed.

Participating members should also review commits by the other members and we could have code-review sessions periodically (depending on the rate of progress).

3. Discussions and decisions
Design and implementation discussions should be held on each part of the project before we jump into programming. This is to ensure that everyone agrees on how things should work and how to implement them.

Ideally, every discussion will end with everyone agreeing across the board. We should make every effort possible to make it so, even if it requires some compromises. In the case that no such agreement could be reached, we should go with a majority vote to make decisions.

All discussions should be public and occur on the forums. Private communications on general issues is generally not helpful for the project. Everybody should be allowed to pitch in and discuss issues.

4. Organizing code structure
The coding standards chosen should dictate the code structure up to a point. In addition, we should decide how to organize library files (in case we're using external libraries) and how to segment the project to the disparate modules. I also recommend very highly to pick one of the major frameworks and base work on that - it will reduce development time very significantly, help enforce good practices across the board (such as MVC separation and other design patterns), and introduce a stable and well supported piece of code into the mix.

I'm voting for the Zend Framework since I am very familiar with it and overall highly satisfied with it, but I don't mind going with another established framework. This should be decided by a majority vote.


If you think there are more issues to discuss before starting, feel free to add those to the discussion.

Author:  Weirdan [ Wed Aug 19, 2009 7:48 pm ]
Post subject:  Re: DN Forum project - development process and standards

Even though I'm unlikely to participate as an active developer, I'd like to note that I agree with you on all points, except 'commit often', maybe. Instead of committing often to the central repository it could be beneficial to use distributed version repository, where patches are pulled into 'official branch' by a release master(s) or project leader(s).

Author:  Eran [ Wed Aug 19, 2009 8:15 pm ]
Post subject:  Re: DN Forum project - development process and standards

Sounds interesting, though I don't have any experience with distributed systems. From what I read, they somewhat encourage independent development and less co-operation between project members. But I'm willing to experiment on this if you care to elaborate or take charge of that part of the project (source code control).

I'll just add another note - I don't expect any particular project member to contribute consistently throughout the lifetime of the project (I probably can't either). Everyone should pick some area that they find interesting and devote their attention there (areas such as templating, security, performance, database, permissions and so forth). I do think though that this discussion is relevant for everyone.

Author:  Jonah Bron [ Mon Aug 24, 2009 11:59 am ]
Post subject:  Re: DN Forum project - development process and standards

I like the standards you've presented. I've never used a framework before, so I can't really say there. As for the front end, I think we should definitely use the most recent standards (HTML5, CSS3). That will allow it to have it's full potential in functionality for the longest possible time. And yes, I know that HTML5 is not finished yet, and CSS3 is not globally supported, but this is a forum of web developers.

Theoretically, we all have the cutting edge in web standards. That's what we do. 8)

I really like the idea of using AJAX for replying and editing.

(P.S. Ignore me, I have no idea what I'm talking about)

Author:  jackpf [ Mon Aug 24, 2009 12:15 pm ]
Post subject:  Re: DN Forum project - development process and standards

Oh hey, I just found this thread.

Yeah, I have never used a framework either :) So I can't comment on that...

But yeah, I agree with everything else you've said.

Our numbers seem to be increasing :)

Author:  Darhazer [ Mon Aug 24, 2009 2:40 pm ]
Post subject:  Re: DN Forum project - development process and standards

In my opinion using an existing MVC framework is a must for number of reasons, but I will skip the arguments until someone argue :)

I'm voting for Zend or Kohana (born as PHP 5 port of CodeIgniter) as a simpler and lighter alternative to Zend. I don't mind which one, since I have no real experience with either, but I would like to gather experience with both.

Completely agree with the overall organization.

Author:  jackpf [ Mon Aug 24, 2009 3:04 pm ]
Post subject:  Re: DN Forum project - development process and standards


Author:  Darhazer [ Mon Aug 24, 2009 3:15 pm ]
Post subject:  Re: DN Forum project - development process and standards


Author:  jackpf [ Mon Aug 24, 2009 3:26 pm ]
Post subject:  Re: DN Forum project - development process and standards

Fair points...

I just think that using a framework might alienate people who aren't familiar with it. If we devloped our own, together, we'd all know exactly what everything does.

But...if the majority of people want to use a framework...then who am I to resist :P

I guess I'm just used to my own methods of coding my stuff from scratch.

Oh yeah, one other thing...I'm not into all that "using the same line for opening parenthesis" mojo :p New line ftw. Could be a problem there...?

Author:  Eran [ Mon Aug 24, 2009 3:38 pm ]
Post subject:  Re: DN Forum project - development process and standards


Author:  jackpf [ Mon Aug 24, 2009 3:51 pm ]
Post subject:  Re: DN Forum project - development process and standards


Author:  Christopher [ Mon Aug 24, 2009 4:59 pm ]
Post subject:  Re: DN Forum project - development process and standards


Author:  Eran [ Mon Aug 24, 2009 5:20 pm ]
Post subject:  Re: DN Forum project - development process and standards

Right, but they do contribute to the source significantly. Though those are generally different guys than those who contribute to the framework.

What about you chris? are you interested in contributing to this project?

Author:  Benjamin [ Mon Aug 24, 2009 6:29 pm ]
Post subject:  Re: DN Forum project - development process and standards

How would Zend benefit this project over symfony? How would Zend decrease development time over symfony?

Author:  jackpf [ Mon Aug 24, 2009 6:41 pm ]
Post subject:  Re: DN Forum project - development process and standards

Oh right...I thought they were the same people since they...have the same name and all :P

Page 1 of 3 All times are UTC - 5 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/