Anyone use flow charts?
I've searched the forums for UML and flow charts but did not see anyone talk about whether they use them or not. I'm interested in knowing the process which real developers, not newbs, go about designing a moderately complex program. Do you use any diagramming tools, hand write what your classes/logic will do in plain English or utilize some other method?
I'm new to Java and would like to learn what most books don't teach you - how to actually design a program. Most books teach the language itself and not the, in my opinion, the larger overview of putting the logic together to create a uniform program. Your thoughts or any resource (book or online) that you find helpful would be appreciated.
If my question or what I'm looking for is not clear, let me know.
Thanks for your time :)
I'm still fairly new as well and haven't don't anything too large, however; I can almost guarantee and good large program will also had good planning and be well thought out before development begins. In a project with 100000+ lines of code it will be too hard to maintain and develop well without planning ahead.
Try google stackoverflow for good design books. I generally find stack overflow containing lots of good information.
What method do you use when designing a program? I was taught flow charts in high school but have learned later in life to write out the steps in plain English. I mostly do PHP/MySQL and I get annoyed when I miss a step or I have to re-write a script because I overlooked a logical step. With Java being a bit more complex for what I intend to do with it, I can't afford to re-write portions of the program so that is why I want to invest some time perfecting the design side of programming.
I will take a look at stackoverflow.
You have to be realistic about it: you always have to redesign and rewrite parts of your code; no design is perfect from scratch and after you have implemented the whole shebang you see parts that can be improved. Have a look at 'refactorings' (also used as a noun). Martin Fowler is one of its messaiahs. Those refactorings are ranging from trivial to quite interesting and can improve your design (and implementation) gradually.
Originally Posted by Java_Lover
I Haven't done much large programming yet so I dont use too much planning. Most of my planning is a quick thinking period about what I will need and then I just constantly try to think about how I am doing something. I always assume I could has done things better and try to find the bad points. Try reading up on design patterns as well. You may find them to be a useful thing to be aware of.
Finally, you will most likely have to re write things. Especially if you are newer because you can always learn more/better techniques.