<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Fri, 24 May 2013 21:15:22 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[QaFoo: Code Review Tool]]></title>
      <guid>http://www.phpdeveloper.org/news/18695</guid>
      <link>http://www.phpdeveloper.org/news/18695</link>
      <description><![CDATA[<p>
On the QaFoo site they've <a href="http://qafoo.com/blog/027_code_review_tool.html">shared a tool they use</a> for doing code reviews in a new post to their blog. The tool, just called <a href="http://github.com/Qafoo/review">review</a>, lets you run several different metrics on the code including the PHP "mess detector", PDepend and PHPCPD (copy & paste detector).
</p>
<blockquote>
We, at <a href="http://qafoo.com/">Qafoo</a>, do Code Reviews quite often together with our customers. This often focusses on dicussing metrics, browsing the associated code and discussing solutions for the issues found. We started using a bunch of shell scripts for that, like everyone else, but at some point we came up with a webinterface to do this in a more comfortable way. Now we want to share this tool with you.
</blockquote>
<p>
Included in the post are <a href="http://qafoo.com/blog/027_code_review_tool.html">several screenshots</a> showing the results of the different types of evaluations - the ones mentioned above as well as things like "methods per class", cyclomatic complexity and NPath complexity. There's also a source code browser and a visual class structure generation tool (UML). It's under a AGPLv3 license and can be found <a href="http://github.com/Qafoo/review">on their site</a>.
</p>]]></description>
      <pubDate>Mon, 05 Nov 2012 09:41:16 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: PHP UML generation from a live object graph]]></title>
      <guid>http://www.phpdeveloper.org/news/16326</guid>
      <link>http://www.phpdeveloper.org/news/16326</link>
      <description><![CDATA[<p>
On the PHP On Windows section of the DZone.com site <i>Giorgio Sironi</i> has a new post looking at the process (and script he's created) to <a href="http://css.dzone.com/articles/php-uml-generation-live-object">create a UML diagram</a> with PHP from a project's current class structure.
</p>
<blockquote>
Sometimes you need to share a design with your colleagues. You can walk him through the code, and explain which classes and interfaces you created, but there are higher abstracted models that you can show to him to make him grasp the picture quickly. One of these tools is UML, and in particular class diagrams.
</blockquote>
<p>
<a href="https://github.com/giorgiosironi/pug">His script</a> creates a UML diagram from a PHP object graph, a sort of "reverse engineering" of the current object's hierarchy and relationships. It creates definitions that <a href="http://yuml.me/">Yuml.me</a> can use to generate the image and does some handy things like following the path down N levels until it hits "the bottom" and the ability to ignore certain namespaces (like "Zend_" or "Doctrine_") to help limit things down to just your application. He includes a sample set of tests to show it in action as well as <a href="http://yuml.me/diagram/scruffy;dir:TB;/class/%5BPHPUnit_Framework_Constraint_IsEqual%5D-%3E%5BstdClass%5D,%20%5BPHPUnit_Framework_Constraint%5D%5E-%5BPHPUnit_Framework_Constraint_IsEqual%5D.png">a resulting UML diagram</a> generated from the PHPUnit structure.
</p>]]></description>
      <pubDate>Wed, 11 May 2011 10:19:47 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Wouter Lagerweij's Blog: Reading Up: Books Every Programmer Should Read]]></title>
      <guid>http://www.phpdeveloper.org/news/15047</guid>
      <link>http://www.phpdeveloper.org/news/15047</link>
      <description><![CDATA[<p>
<i>Wouter Lagerweij</i> has posted a list of books he thinks <a href="http://www.lagerweij.com/2010/08/31/reading-up-books-every-programmer-should-read/">every programmer should read</a> to help them get a better handle on their process overall (they apply to any language out there, really).
</p>
<blockquote>
When discussing books on software engineering with colleagues, I got the idea of listing the best books I've read in the past 15 years. Because it seems useful, but also because that will allow others to tell me which ones I should have read.
</blockquote>
<p>
He lists five books that cover some of the "meta" about programming:
</p>
<ul>
<li><a href="http://www.amazon.com/Applying-UML-Patterns-Introduction-Object-Oriented/dp/0131489062">Applying UML patterns</a>
<li><a href="http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612">Design Patterns - GoF</a>
<li><a href="http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672">Refactoring (Martin Fowler)</a>
<li><a href="http://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530">Test-Driven Development (Kent Beck)</a>
<li><a href="http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882">Clean Code (Robert Martin)</a>
</ul>]]></description>
      <pubDate>Tue, 31 Aug 2010 08:11:04 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DotNetButchering: Design Patterns you use without knowing them]]></title>
      <guid>http://www.phpdeveloper.org/news/11133</guid>
      <link>http://www.phpdeveloper.org/news/11133</link>
      <description><![CDATA[<p>
From the DotNetButchering blog there's <a href="http://dotnetbutchering.blogspot.com/2008/02/design-patterns-oop-php-design-patterns.html">a recent post</a> looking at design patterns, more specifically ones you might be using and you don't even know it.
</p>
<blockquote>
Rise your hands if time ago (or even now) you stood literally in trance listening to your friends or colleagues talking about design patterns. [...] Anyway I felt better (and also my ego did) when I found those Design Patterns were no more than ways to solve common programming problems, and as I was programming since 2 or 3 years, I had already discovered some of them myself.
</blockquote>
<p>
He points out two patterns - the strategy and factory patterns - and gives code examples (and UML diagrams) to show how they work.
</p>]]></description>
      <pubDate>Thu, 02 Oct 2008 10:28:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Visustin v4 Automates PHP Flowcharting and UML Diagramming]]></title>
      <guid>http://www.phpdeveloper.org/news/6837</guid>
      <link>http://www.phpdeveloper.org/news/6837</link>
      <description><![CDATA[<p>
According to <a href="http://www.php-mag.net/magphpde/magphpde_news/psecom,id,26624,nodeid,5.html">this note</a> from the International PHP Magazine website, there's a new tool being offered by <a href="http://www.aivosto.com/">Aivosto</a> that allows PHP developers to "reverse engineer" their code back into flow charts and UML activity diagrams.
</p>
<blockquote>
Visustin is the ideal diagramming tool for software developers and document writers. Save your documentation efforts by automatic charting! Visustin reverse engineers your source code and visualizes it. No manual drawing is required. Your existing code is all you need. If you see a real complex case, print it out as a big mosaic and hang it on your wall.
</blockquote>
<p>
Functionality includes the automatic creation of a optimized layout, the ability to do a multi-page printout, saving the graphs/charts/etc in various formats, run a "bulk chart" on all of your files at once, and export options including PowerPoint, out to the web, and Word.
</p>
<p>
You can get the full details on the product (as well as screenshots and a <a href="http://www.aivosto.com/getshareware.html">demo</a>) from <a href="http://www.aivosto.com/visustin.html">their website</a>.
</p>]]></description>
      <pubDate>Wed, 06 Dec 2006 11:43:00 -0600</pubDate>
    </item>
  </channel>
</rss>
