[Developers] Before you open your IDE ...

LPH

Well-known member
I'm just curious how you (a developer/programmer) approach a project. Do you sketch out the flow of files before writing? Do you put together an outline? Do you talk it out with a friend? Do you spend time off the computer to develop the idea or do you stick to the computer screen? Do you create all the files then populate them with PHP, HTML, CSS? What is your creative process?

I've been undisciplined regarding my approach and would love to know how others approach a project. I'd love to see responses from @Chris D, @xfrocks, @Waindigo, @Bob B, @Kier, @Mike .... Geesh .... so many great developers on here so I shouldn't try to name them all (it would take up a full page).

Anyway ... do you just open an IDE and let it flow ... then edit from that point ?
 
I wasn't asked but as you've had no responses...

I usually make notes first, outlining what it is I want the add-on to do, any potential issues, any items of note with regards to how it will function, etc.

The first step is of course to actually create the add-on in the ACP.

Then I start doing the options and style properties, admin templates, admin template modifications.

Then I do the templates and template modifications.

Then I start on the PHP, listeners, etc.

It's an iterative process though; some things have to be done in sequence and there is a lot of back and forth between the PHP and ACP/templates, etc.
 
I am also undisciplined in my approach but I do plan. It's not necessarily on paper, but when I start I generally have a fair idea of what I'm going to do and the order I'm going to do things.
 
I wasn't asked but as you've had no responses....

Hi Brogan - I didn't mean it to be an exclusive - and you have definitely provided me with lots of insights.

I'm actually marking your answer for when I dive into the XenForo side.
 
I am also undisciplined in my approach but I do plan. It's not necessarily on paper, but when I start I generally have a fair idea of what I'm going to do and the order I'm going to do things.

Cool !

Do you change the order with different projects?
 
Do you sketch out the flow of files before writing? Not necessarily the files, but the project, yes.. I flow chart processes on just about everything I do (either on the white board or scratch pad notes).

Do you put together an outline? For large projects yes, for smaller ones no.

Do you talk it out with a friend? I can't think of anything I've coded professionally that I've not talked with others about.

Do you spend time off the computer to develop the idea or do you stick to the computer screen? I spend a lot of time on the white board, in meetings, sketching notes etc.

Do you create all the files then populate them with PHP, HTML, CSS? No, I create a file when I need it and they get methods/functions added as needed when I am working on specific functionality. Same with DB tables, Templates, phrases, options, permissions etc..

Do you just open an IDE and let it flow ... then edit from that point ? I always have a plan in place before a single line of code is written.

What is your creative process? a TON of research and I ask people a lot of questions (just ask @MattW @Sheldon as I bug them all the time wanting enduser feedback).
 
Do you spend time off the computer to develop the idea or do you stick to the computer screen?
If I ever get stuck on a concept, implementation, piece of code, etc. I find that I usually hit on the answer when I'm either running, in the shower (easy ladies), or just about to fall asleep.

The problem is I don't have a notepade/tablet with me at any of those times so I have to try and remember until the next time I do :D
 
The problem is I don't have a notepade/tablet with me at any of those times so I have to try and remember until the next time I do :D

Time to get you a water-proof tablet for the shower ;)

PST - I believe the authors of the book "hard drive" wrote Bill Gates didn't shower but later was convinced to take baths - so that he could keep his notes close... ;)
 
Normally I will discuss the requirement (with a customer or with myself) until everything is clear, perform tests to make sure all features are possible/reasonable to implement. After the scope is confirmed, I won't work on it for 3 or 5 days, only think about it whenever I have time (I have other full time job), take note, do more tests. For big project, I do have to write it down to break the tasks but most of the time I keep the structure in my head. When the time comes, I use my helper to create the foundation of the add-on (directory structure, CVS, database schema, admin scaffolding, common phrase and templates) then other stuff.

Anyway ... do you just open an IDE and let it flow ... then edit from that point ?
Mostly nope. I do that sometimes with tiny projects though :D

Hope this helps :)
 
If I ever get stuck on a concept, implementation, piece of code, etc. I find that I usually hit on the answer when I'm
either running, in the shower (easy ladies), or just about to fall asleep.
I find myself doing the same. Taking a step back and trying to not think about it for a while usually means I come up with what I'm trying to do.

To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
 
Most of my recent work has faced significant architectural challenges experienced by refactoring code written for a particular purpose to a new, framework-like, modular system- whilst maintaining compatibility with older systems.

I use endless maps on whiteboards to sketch out, right down from table schema to class names with method names. I generally follow TDD principles to develop my code - whilst I am not absolutely sold on unit test, I certainly don't write code to be unit tested.

Where does it all start for me? The requirements gathering stage. I am not primarily involved with this, nor am I involved in any feature-planning. I have a large overview of the integration of smaller components of the software.

I consider the changes which are going to be made, the greater effects to the system and anticipate any regressions.
 
I use endless maps on whiteboards to sketch out, right down from table schema to class names with method names. I generally follow TDD principles to develop my code - whilst I am not absolutely sold on unit test, I certainly don't write code to be unit tested.

TDD or Test Driven Development has interested me but I'm no where near ready for it. My hat is off to you.
 
Top Bottom