Design everything then code

>design everything then code
vs
>code and design as we go

>design
>prototype
>design
>throw away prototype
>start real project

Design then code, but accept that your design will be flawed and you'll have to change some things.

Design should take about 90% of the time, while implementation takes the other 90%.

>>>>apt on gentoo

>design everything
>ignore design

This, you can't possibly hope to get project right on the first try.

>implying it isn't debian with the hostname set to gentoo to appear 1337

s/on.+$/ever

ftfy

Design
Shove in the code to get it done
Find the good scalable shit and redo the rest

>sudo rm -rf /user

what is this gif from

Gentoo doesn't use apt-get, stop posting this retarded shit

MakeAGif.com :^)

Stalingrad.

>using the smiley with a carat nose

you guys should stop jacking off to sicp and read a software engineering book.

Start with initial design and concept that get the base functionality down. Build a bare bones version of your project then from there add upon it (with more planning), if your design is strong it should support being extendable and any necessary refactoring needed. Keep in mind it'll never be perfect and we're all prone to having to make choices that will have their pros and cons.

That's not how percentages work.

I'm not sure that I understand the latter. How would you code without knowing what to code?

How do you guys design?
I usually start out by writing function signatures, classes, structs etc in header files, then I get to the implementation once I'm happy with that.

I'm not very good at designing any other way, or more like I don't know how to do it any other way.

>Implying apt and dpkg can't be installed on a Gentoo system.

Why wouldn't you use Scrum?

Design then code.

It's either that or you end up with a fucking messy tangle that you have to rewrite from scratch anyway. Even still, designs often end up fairly messy.

do {
design_it();
prototype_it();
break_it();
} while( its_broken );
complete_it();
publicise_it();
release_it();

For important things, that loop takes a lot of iterations. I'm over 10 years into this project and there's a lot of broken prototypes and protocols.

I remember reading some study on this from Stanford, I think it was, and the "best" programmers just did a little of both then repeated IIRC

Analyse
>is there even a fucking need for this software, how fucking long will it take for me to code it
>write down some requirements

Design
>write down classes and functions on paper

Program

Test

Repeat the last four steps until im happy

Frasier. Niles finds out that Martin fucked Daphne and kills himself.

Have fun never releasing anything

>dribbble
-
>github

What does "design" mean here?

I like to have at least a basic design before I start coding.

You want to know what at least your core features are going to be first and a rough idea of how you want to present them or else your code is going to be a shambles.

I'd rather prefer an iterative process, OP

>figure out what needs to be done
>design new feature or refactor old feature
>implement feature
>test and debug
>repeat from top

prototype modularly
implement module
prototype modularly
implement module
prototype modularly
implement module
mash it all together later

>/user

>write code
>refactor
>refactor
>refactor
>refactor
>refactor

>tfw I thought that you were talking about UI and not code design the whole time

check requirement
define specification
design
develop
debug
test
release

I like the tracer bullets method. Get the bare minimum in place to just get something running. Just get a proof of concept running and connect the dots as loosely as possible. Then I do a proper design on whatever is left to do and can work through that design pretty predictably.

>>>>>apt on gentoo
You wish.

we know you autist. The joke is that only the hostname is gentoo to appear leet to fellow neckbeards

Are you slightly rused by le Sup Forums smiley face? :^)

design, code, design, code some more, edit designs, trow away code, design, some new code, frustration fap, design, code, ...

>using the smiley with a carat nose

;^D

>using the smiley with a carat nose