PHP Developers Network

A community of PHP developers offering assistance, advice, discussion, and friendship.
 
Loading
It is currently Sun Oct 20, 2019 4:19 pm

All times are UTC - 5 hours




Post new topic Reply to topic  [ 41 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: Wed Aug 19, 2009 3:47 pm 
Offline
DevNet Master
User avatar

Joined: Fri Jan 18, 2008 1:36 am
Posts: 3549
Location: Israel, ME
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.


Top
 Profile  
 
PostPosted: Wed Aug 19, 2009 7:48 pm 
Offline
Moderator
User avatar

Joined: Mon Nov 03, 2003 7:13 pm
Posts: 5978
Location: Odessa, Ukraine
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).


Top
 Profile  
 
PostPosted: Wed Aug 19, 2009 8:15 pm 
Offline
DevNet Master
User avatar

Joined: Fri Jan 18, 2008 1:36 am
Posts: 3549
Location: Israel, ME
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.


Top
 Profile  
 
PostPosted: Mon Aug 24, 2009 11:59 am 
Offline
DevNet Master
User avatar

Joined: Thu Mar 15, 2007 6:28 pm
Posts: 2765
Location: Redding, California
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)


Top
 Profile  
 
PostPosted: Mon Aug 24, 2009 12:15 pm 
Offline
DevNet Resident
User avatar

Joined: Sun Feb 15, 2009 8:22 pm
Posts: 2119
Location: Ipswich, UK
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 :)


Top
 Profile  
 
PostPosted: Mon Aug 24, 2009 2:40 pm 
Offline
DevNet Resident
User avatar

Joined: Thu May 14, 2009 3:00 pm
Posts: 1011
Location: HellCity, Bulgaria
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.


Last edited by Darhazer on Mon Aug 24, 2009 3:20 pm, edited 1 time in total.

Top
 Profile  
 
PostPosted: Mon Aug 24, 2009 3:04 pm 
Offline
DevNet Resident
User avatar

Joined: Sun Feb 15, 2009 8:22 pm
Posts: 2119
Location: Ipswich, UK


Top
 Profile  
 
PostPosted: Mon Aug 24, 2009 3:15 pm 
Offline
DevNet Resident
User avatar

Joined: Thu May 14, 2009 3:00 pm
Posts: 1011
Location: HellCity, Bulgaria


Top
 Profile  
 
PostPosted: Mon Aug 24, 2009 3:26 pm 
Offline
DevNet Resident
User avatar

Joined: Sun Feb 15, 2009 8:22 pm
Posts: 2119
Location: Ipswich, UK
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...?


Top
 Profile  
 
PostPosted: Mon Aug 24, 2009 3:38 pm 
Offline
DevNet Master
User avatar

Joined: Fri Jan 18, 2008 1:36 am
Posts: 3549
Location: Israel, ME


Top
 Profile  
 
PostPosted: Mon Aug 24, 2009 3:51 pm 
Offline
DevNet Resident
User avatar

Joined: Sun Feb 15, 2009 8:22 pm
Posts: 2119
Location: Ipswich, UK


Top
 Profile  
 
PostPosted: Mon Aug 24, 2009 4:59 pm 
Offline
Site Administrator
User avatar

Joined: Wed Aug 25, 2004 7:54 pm
Posts: 13592
Location: New York, NY, US

_________________
(#10850)


Top
 Profile  
 
PostPosted: Mon Aug 24, 2009 5:20 pm 
Offline
DevNet Master
User avatar

Joined: Fri Jan 18, 2008 1:36 am
Posts: 3549
Location: Israel, ME
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?


Top
 Profile  
 
PostPosted: Mon Aug 24, 2009 6:29 pm 
Offline
Site Administrator
User avatar

Joined: Sun May 19, 2002 10:24 pm
Posts: 6887
How would Zend benefit this project over symfony? How would Zend decrease development time over symfony?

_________________
Image


Top
 Profile  
 
PostPosted: Mon Aug 24, 2009 6:41 pm 
Offline
DevNet Resident
User avatar

Joined: Sun Feb 15, 2009 8:22 pm
Posts: 2119
Location: Ipswich, UK
Oh right...I thought they were the same people since they...have the same name and all :P


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 41 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 5 hours


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group