Click here to Skip to main content
14,239,593 members

Design and Architecture

 
QuestionLoading Dropdown Pin
chennaiprince13-Jul-19 3:18
memberchennaiprince13-Jul-19 3:18 
AnswerRe: Loading Dropdown Pin
Gerry Schmitz13-Jul-19 8:23
mveGerry Schmitz13-Jul-19 8:23 
AnswerRe: Loading Dropdown Pin
Mycroft Holmes13-Jul-19 11:06
memberMycroft Holmes13-Jul-19 11:06 
QuestionMessage Closed Pin
4-Jul-19 21:22
professionalContact Official Support4-Jul-19 21:22 
QuestionHow to get applicable OOP / software structure knowledge Pin
qkhanhpro1-Jul-19 21:34
memberqkhanhpro1-Jul-19 21:34 
AnswerRe: How to get applicable OOP / software structure knowledge Pin
OriginalGriff1-Jul-19 21:46
protectorOriginalGriff1-Jul-19 21:46 
It doesn't matter what languages or framework you use, it's the mindset you need.

Start by thinking about the past projects. How did they change? How did they evolve, what happened to the specification? What would have made it simpler to add those changes?

I work on a simple principle: design for change, design for maintenance.
The maintenance portion of a project is generally much longer than the "coding" part - and is normally done when the original project is no longer "familiar code" (either because it's been a year since you last looked at it, or you aren't the guy who wrote it) so design for that, rather than the immediate moment.

Don't do "clever code": it's a PITA to modify (or even understand six months down the line)
Do design for generic use instead of specifics: test it, add it to a library of "useful code" and use it again, and again for multiple projects.
Do design for problems: for example when I do a switch on an enum I always write this:
switch (myVariable)
   {
   default: throw new ArgumentException($"The value \"{myVariable}\" is not handled");
   case MyEnum.First: ...
   ...
   case MyEnum.Last: ...
   }
So if you add an option to the enum it is detected and you have to deal with it instead of doing nothing because it isn't in the switch list.
Do check your inputs: make sure data is correct as far as you can before you try to process it.

Defensive programming helps you to prevent problems.

But ... the biggest helper here is experience. Three years isn't that much, not really - keep thinking about what you are coding, why, and who for: you'll get there!
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!

AnswerRe: How to get applicable OOP / software structure knowledge Pin
Gerry Schmitz2-Jul-19 6:41
mveGerry Schmitz2-Jul-19 6:41 
QuestionDesign an algorithm for generic database analytics Pin
Michael Sterling29-May-19 23:18
memberMichael Sterling29-May-19 23:18 
AnswerRe: Design an algorithm for generic database analytics Pin
Eddy Vluggen30-May-19 0:04
mveEddy Vluggen30-May-19 0:04 
GeneralRe: Design an algorithm for generic database analytics Pin
Michael Sterling30-May-19 1:42
memberMichael Sterling30-May-19 1:42 
PraiseRe: Design an algorithm for generic database analytics Pin
Eddy Vluggen30-May-19 2:32
mveEddy Vluggen30-May-19 2:32 
AnswerRe: Design an algorithm for generic database analytics Pin
Mycroft Holmes30-May-19 12:22
memberMycroft Holmes30-May-19 12:22 
GeneralRe: Design an algorithm for generic database analytics Pin
Michael Sterling1-Jun-19 2:17
memberMichael Sterling1-Jun-19 2:17 
GeneralRe: Design an algorithm for generic database analytics Pin
Mycroft Holmes1-Jun-19 13:43
memberMycroft Holmes1-Jun-19 13:43 
AnswerRe: Design an algorithm for generic database analytics Pin
Gerry Schmitz30-May-19 14:11
mveGerry Schmitz30-May-19 14:11 
QuestionWhat is an image map? Pin
Shraddha_Patel26-May-19 20:36
memberShraddha_Patel26-May-19 20:36 
AnswerRe: What is an image map? Pin
Richard MacCutchan26-May-19 21:26
protectorRichard MacCutchan26-May-19 21:26 
AnswerRe: What is an image map? Pin
Eddy Vluggen26-May-19 23:48
mveEddy Vluggen26-May-19 23:48 
QuestionLooking to figure out how to design a desktop and theme for an operating system based off of Linux. Can anyone point me in the right direction on how to do this? Anyone know of any books? Any tips? Any pointers? Any Forums? etc. The other parts are a Pin
justinsloan3217-May-19 22:18
memberjustinsloan3217-May-19 22:18 
AnswerRe: Looking to figure out how to design a desktop and theme for an operating system based off of Linux. Can anyone point me in the right direction on how to do this? Anyone know of any books? Any tips? Any pointers? Any Forums? etc. The other parts a Pin
Richard MacCutchan17-May-19 22:19
protectorRichard MacCutchan17-May-19 22:19 
GeneralRe: Looking to figure out how to design a desktop and theme for an operating system based off of Linux. Can anyone point me in the right direction on how to do this? Anyone know of any books? Any tips? Any pointers? Any Forums? etc. The other parts a Pin
justinsloan3217-May-19 22:26
memberjustinsloan3217-May-19 22:26 
GeneralRe: Looking to figure out how to design a desktop and theme for an operating system based off of Linux. Can anyone point me in the right direction on how to do this? Anyone know of any books? Any tips? Any pointers? Any Forums? etc. The other parts a Pin
Richard MacCutchan17-May-19 23:35
protectorRichard MacCutchan17-May-19 23:35 
AnswerRe: Looking to figure out how to design a desktop and theme for an operating system based off of Linux. Can anyone point me in the right direction on how to do this? Anyone know of any books? Any tips? Any pointers? Any Forums? etc. The other parts a Pin
jschell18-May-19 6:54
memberjschell18-May-19 6:54 
AnswerRe: Looking to figure out how to design a desktop and theme for an operating system based off of Linux. Can anyone point me in the right direction on how to do this? Anyone know of any books? Any tips? Any pointers? Any Forums? etc. The other parts a Pin
Gerry Schmitz18-May-19 7:15
mveGerry Schmitz18-May-19 7:15 
AnswerRe: Looking to figure out how to design a desktop and theme for an operating system based off of Linux. Can anyone point me in the right direction on how to do this? Anyone know of any books? Any tips? Any pointers? Any Forums? etc. The other parts a Pin
Dar Brett18-May-19 16:50
memberDar Brett18-May-19 16:50 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.