On Friday, 12 July 2013 15:22:59 UTC+1, Azureaus  wrote:
> Hi all,
> 
> I've been asked to take over a project from someone else and to extend the 
> functionality of this. The project is written in Python which I haven't had 
> any real experience with (although I do really like it) so I've spent the 
> last week or two settling in, trying to get my head around Python and the way 
> in which this code works.
> 
> 
> 
> The problem is the code was clearly written by someone who is exceptionally 
> good and seems to inherit everything from everywhere else. It all seems very 
> dynamic, nothing is written statically except in some configuration files. 
> 
> Basically the problem is I am new to the language and this was clearly 
> written by someone who at the moment is far better at it than I am!
> 
> 
> 
> I'm starting to get pretty worried about my lack of overall progress and so I 
> wondered if anyone out there had some tips and techniques for understanding 
> other peoples code. There has to be 10/15 different scripts with at least 10 
> functions in each file I would say.
> 
> 
> 
> Literally any idea will help, pen and paper, printing off all the code and 
> doing some sort of highlighting session - anything! I keep reading bits of 
> code and thinking "well where the hell has that been defined and what does it 
> mean" to find it was inherited from 3 modules up the chain. I really need to 
> get a handle on how exactly all this slots together! Any techniques,tricks or 
> methodologies that people find useful would be much appreciated.

Thanks for all the suggestions, I'm afraid I didn't get a chance to view them 
over the weekend but I will get started with them this morning. I'm currently 
using sublime 2 for my text editor and tried to create a UML diagram using 
Pylint to try and get a map overview of what's going on. Unfortunately it 
seemed to map the classes into groups such as StringIO, ThreadPool, GrabOut 
etc.. rather than into the modules they belong go and how they fit together. 
Maybe this is just my inexperience showing through or I'm using the program 
wrong. If anyone has any 'mapping' programs they use to help them visualise 
program flow that would be a great bonus.

To be fair to who programmed it, most functions are commented and I can't 
complain about the messiness of the code, It's actually very tidy. (I suppose 
Python forcing it's formatting is another reason it's an easily readable 
language!) Luckily not blanked import * were used otherwise I really would be 
up the creek without a paddle. 
Thanks!
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to