[TYPO3-50-general] Willing to help Task #1 Create sniffs for PHP Code Sniffer
robert at typo3.org
Mon Dec 10 11:24:56 CET 2007
Am 09.12.2007 um 23:57 schrieb Tim Eilers:
> until now i am still a normal (end-)user of TYPO3 (running a few sites
> with 4.x). I am a bit experienced with normal php, but i never got
> really into the TYPO3 code...
> Now there is a little chance to give something back to the
> community, so
> i decided to try to help.
> I don't work in company, who works with TYPO3 (i do linux admin in the
> company i work in) and also don't an own one, so i do everything
> with TYPO3 as a hobby. usually the xmas time is full of everything, so
> don't expect me to be the fastest. After xmas i have holidays and free
> time, so then i could do the most of it.
Okay but please don't stress yourself. Promise us to not postpone any
nice holiday-activity just to sit at your computer and rack your brain
about our coding guidelines.
> Back to topic:
> I took a look at the coding guidelines and at PHP Code Sniffer. I
> say that i am an average PHP Coder, but never heard of the Sniffer or
> PHPUnit before. I took a look at the PHPUnit docs, but i don't really
> understand how PHPUnit could help in this task. ...and what the hell
> phing and how is it used in the 5.0 project? (the phing doc is really
> huge. i began to read it, but didn't understand even the first parts
> till now)
> I extracted "rules" out of the guidelines and tried to set a
> priority to
> it. Some of them are never possible to check with Sniffer (take nouns
> for class names for example), some of them sound easy, but are
> to implement and some of them are very fast to implement.
> i experimented a bit and already implemented 'Class name start with
> and 'Class name only content A-Za-z0-9 and _'.
Okay, let's take one step after another - we can split that project into
smaller tasks and some others might help you with that.
The idea of PHPUnit (or Unit Testing in general) is to create some
testing for your (PHP-) code. It mainly serves two goals: 1) make sure
code works according to your assumptions and 2) document your
You intuitively did already what is called Test Driven Development:
extracting the rules and then move on to coding.
I suggest that you do the following:
- convert the coding guidelines we've written down so far into rules
"Class names of classes in the Classes/ directory must start with
by the package name"
"All constants must be written uppercase, including 'TRUE' and
Best is, if you wrote all rules into our wiki - just fill this page:
- Then you might want to categorize these rules
- After that please let us know that you're done, because I'm pretty
sure that we
forgot to document quite some rules ...
- If you really want to learn how to do Unit Testing / work with
PHPUnit, you could
start with reading the PHPUnit Pocket Guide (http://www.phpunit.de/pocket_guide/index.en.php
It's not exceptional verbose but it might give you a rough idea.
Maybe Sebastian can help you a bit with the first steps.
If you're not up to that, no problem either - we just ask
someoneelse to work on
And you don't have to care about PHING - we just use that to automize
of certain tasks.
Thanks again for your help!
More information about the TYPO3-project-5_0-general