[PHP] Re: Joining a team, where no wiki or docs are available
On 9/24/2012 10:05 AM, AmirBehzad Eslami wrote: Hi, i'm going to join a mid-size company with a few PHP-driven projects written in procedural PHP, million years old. At the moment, they don't have a wiki or any documentation about their projects. For me, the first challenge in probation period is to understand how their code works. * Considering that there is no wiki or docs, How can I see the Big Picture?* i'm sure this is a common problem for programmers everywhere. What approach do you use in a similar situation? Is there a systematic approach for this? Is there reverse-engineering technique to understand the design of code? Please share your experience and thoughts. -Thanks in advance, Behzad If you really are joining a team, I would expect that the teammates would be guiding you through their systems. If only to ensure that you are becoming productive. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: Joining a team, where no wiki or docs are available
Jim wrote: If you really are joining a team, I would expect that the teammates would be guiding you through their systems. True, but based on my experience, most programmers are not good when it comes to explain stuff. So, I should rely on my own.
Re: [PHP] Re: Joining a team, where no wiki or docs are available
On 09/24/2012 05:19 PM, AmirBehzad Eslami wrote: True, but based on my experience, most programmers are not good when it comes to explain stuff. So, I should rely on my own. Choose another team? -- RMA. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: Joining a team, where no wiki or docs are available
That's like erasing the question from the paper, in order to give it a solution! I was thinking about this problem for a while, and I've ended-up with this approach: #1 Start using the software as an End-User (don't care about the code) to understand the business-value of the software #2 Take a look at the database scheme, try to understand the entities and their relations #3 As you use the software, you'll become more curious about its features and how they've implemented. #4 Start to see how they've implemented common problems, such as: Authentication, CRUD, etc. How the other interesting features are implemented So that's an approach. What do you think? You can't join a team and ask them: How this software is implemented? They'll simply stare at you. Instead, *we need to ask smart questions*. Now where these smart questions come from? We need to understand some of the design prior to ask questions, right? With that basic understanding, we can ask good questions, and will gain benefit from the answers. On Mon, Sep 24, 2012 at 5:52 PM, Mihamina Rakotomandimby miham...@rktmb.org wrote: On 09/24/2012 05:19 PM, AmirBehzad Eslami wrote: True, but based on my experience, most programmers are not good when it comes to explain stuff. So, I should rely on my own. Choose another team? -- RMA. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Kind regards, -behzad
Re: [PHP] Re: Joining a team, where no wiki or docs are available
On 09/24/2012 05:38 PM, AmirBehzad Eslami wrote: #1 Start using the software as an End-User (don't care about the code) to understand the business-value of the software #2 Take a look at the database scheme, try to understand the entities and their relations #3 As you use the software, you'll become more curious about its features and how they've implemented. #4 Start to see how they've implemented common problems, such as: Authentication, CRUD, etc. How the other interesting features are implemented #5 install xdebug + geben + emacs and have a look at the call stacks and bottlenecks. -- RMA. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: Joining a team, where no wiki or docs are available
Never worked with Emacs or genben. I'm a fan of vim ;) But thanks a ton, based on your suggestion, I just found vim-dbgp On Mon, Sep 24, 2012 at 6:27 PM, Mihamina Rakotomandimby miham...@rktmb.org wrote: #5 install xdebug + geben + emacs and have a look at the call stacks and bottlenecks. -- RMA. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Kind regards, -behzad
RES: [PHP] Re: Joining a team, where no wiki or docs are available
What about using visual code coverage instead of callstacks? I think the big picture is easier to digest. Maybe a combination of both, as code coverage won't provide the time axis of the monster. Something like http://phpcoverage.sourceforge.net/ -Mensagem original- De: Mihamina Rakotomandimby [mailto:miham...@rktmb.org] Enviada em: segunda-feira, 24 de setembro de 2012 11:58 Para: PHP General Assunto: Re: [PHP] Re: Joining a team, where no wiki or docs are available On 09/24/2012 05:38 PM, AmirBehzad Eslami wrote: #1 Start using the software as an End-User (don't care about the code) to understand the business-value of the software #2 Take a look at the database scheme, try to understand the entities and their relations #3 As you use the software, you'll become more curious about its features and how they've implemented. #4 Start to see how they've implemented common problems, such as: Authentication, CRUD, etc. How the other interesting features are implemented #5 install xdebug + geben + emacs and have a look at the call stacks and bottlenecks. -- RMA. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php