[TYPO3-commerce] Request for help: Clean up commerce

Christian Kuhn lolli at schwarzbu.ch
Thu May 12 01:44:28 CEST 2011


You!


Maybe you have noticed that I have recently started a massive clean up 
session of commerce code base in svn trunk.

My motivation: I think that commerce is still the best option for a shop 
system with TYPO3, all other options are even more evil. commerce is by 
design very flexible and versatile. Unfortunatly, the given code base is 
rotten and in a state nobody really likes to work with.

There are actually three options to deal with this:
1: Do not implement a shop in TYPO3
2: Rewrite commerce from scratch with a solid code base
3: Improve current code base until it fits modern needs

1 is no option for me, 2 is too much work until we have a working 
version, 3 is a lot of work too but is based on something that sometimes 
even works now.

Thus, I've decided for me to hack on commerce for a while to fix some 
things. I we do not do this, this project will be dead in a couple of 
years anyway.

While there are tons of things to do, I think a clean up of current PHP 
code is TOP 1 priority to lay a foundation for real refactorings. We've 
already cleaned all piX classes some month ago, but a cleanup especially 
of all files in lib/ is even more important.

An example can be seen with my latest change in revision 47953 where I 
change pretty much every line of lib/class.tx_commerce_basic_basket.php, 
hopefully without breaking anything. In effect, this class is now much 
better readable, mostly sticks to current core coding guidelines, and 
can be reviewed for future refactorings.

Here is my request:
This cleanup is a tedious task. Help in this area would be great.
So please, just grab some file from commerce and clean it up. Goal is to 
improve code quality without changing functional behavior:
- Fix method headers and annotations
- Fix comments to better english
- Fix CGL
- Fix whitespace issues
- Fix no-brainers
- Remove commented code blocks
- Type hinting of input parameters if possible
- Introduce wisibility of methods and class variables
- Check for usage of deprecated methods and remove them if possible
- ...

Pretty much everyone can participate on this, you should just have an 
idea of how to work with subversion, of TYPO3 core CGL and how to create 
patches. Go ahead!

Bonus: If you are getting trained on this you will learn a lot about 
current commerce functionality and possibilities. If you are not sure 
about your change, I'll happily review your patches! Just take some 
class and start a session for an hour or so, it is worth it!


BTW: I'm currently working on changing pi2 (the basket view) to use 
fluid for rendering. I'm already pretty far and will come up with a 
patch somewhere the next days. This change will show on how the whole 
rendering can be improved a lot and removes tons of obsolete marker and 
subpart handling code, while it makes the basket view much more 
flexible, without breaking most business code. If this change works out 
well, we can think on how we can do similar things for other pi classes.


Regards
Christian


More information about the TYPO3-project-commerce mailing list