[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