From: Bryan F. <bry...@gm...> - 2009-07-03 17:45:10
|
Hello, All. A recruiter recently told me that one of her clients--who was specifically looking for a PHP developer--said that my code sample didn't show the level of "maturity" that the client was looking for. Hmmm, ok. Can anyone help me on my path to maturity with some constructive criticism of my code sample? I thought my code through and imagined it to be pretty good stuff, but evidently I've got some growing to do. I certainly cannot claim to be a PHP expert, but experience and reading have brought me through enough levels of bad and immature code hell to imagine that I am well into the intermediate range. I originally considered providing classes from my portfolio website, which is a Zend Framework-based MVC setup with an XML database, but decided instead to write a small command-line application from scratch so that a potential employer could run it with as few setup hassles and snags as possible. I set out to make sure that I included the following elements, which generally constitute what I believe to be indicative of mature PHP code: * standard OOP principles, including high decoupling and good encapsulation, inheritance, polymorphism, composition, and aggregation * most PHP 5 OOP features, including interfaces, abstract classes, and exception handling * use of design patterns * use of SPL and an external code library (Zend Framework, in this case) * file, stream, and XML handling * Zend coding standard * E_STRICT cleanliness That's a pretty good checklist, right? And almost all of it made it in. So is the problem in the execution? Is it that I didn't do it "test first" and include the unit tests (that's a skill I'm still working on)? Questions, comments, concerns? I'd appreciate as much insight as anyone has to offer. I'm not asking so much for help with a re-write as for help understanding what is immature about the code or the project as a whole--and what I need to understand and learn to do to have any recruiter think, "Damn, this guy's good! Bring him in." If you're interested in this mentoring task--or just want to point and laugh--you can download the zipped-up code from my professional website at the address http://bryanfagan.info/documents/Bryan_Fagan_Code_Sample.zip and open it with the password "super good password". Bryan Fagan P.S. I am woefully unemployed, so if you see my stuff and know of someone looking for a LAMP developer who might think anything even close to "this guy's good," I would be eternally grateful if you'd pass on my contact information or send me a link as appropriate. |