Click here to Skip to main content
15,900,405 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
AnswerRe: Minimize the risk that (bad) programmers call specific functions? Pin
cjb11011-Feb-20 23:45
cjb11011-Feb-20 23:45 
QuestionTraditional architecture, SOA, or serverless Pin
Darina Smartym15-Oct-19 22:28
Darina Smartym15-Oct-19 22:28 
AnswerRe: Traditional architecture, SOA, or serverless Pin
Eddy Vluggen17-Oct-19 23:21
professionalEddy Vluggen17-Oct-19 23:21 
GeneralRe: Traditional architecture, SOA, or serverless Pin
ZurdoDev18-Oct-19 1:08
professionalZurdoDev18-Oct-19 1:08 
GeneralRe: Traditional architecture, SOA, or serverless Pin
Eddy Vluggen18-Oct-19 2:01
professionalEddy Vluggen18-Oct-19 2:01 
AnswerRe: Traditional architecture, SOA, or serverless Pin
ZurdoDev18-Oct-19 1:10
professionalZurdoDev18-Oct-19 1:10 
GeneralRe: Traditional architecture, SOA, or serverless Pin
Eddy Vluggen20-Oct-19 8:04
professionalEddy Vluggen20-Oct-19 8:04 
GeneralRe: Traditional architecture, SOA, or serverless Pin
Dar Brett20-Oct-19 14:58
Dar Brett20-Oct-19 14:58 
GeneralRe: Traditional architecture, SOA, or serverless Pin
Eddy Vluggen21-Oct-19 1:37
professionalEddy Vluggen21-Oct-19 1:37 
GeneralRe: Traditional architecture, SOA, or serverless Pin
Dar Brett21-Oct-19 13:30
Dar Brett21-Oct-19 13:30 
QuestionMultiple resource files per culture Pin
agolddog1-Oct-19 9:43
agolddog1-Oct-19 9:43 
AnswerRe: Multiple resource files per culture Pin
Gerry Schmitz1-Oct-19 10:36
mveGerry Schmitz1-Oct-19 10:36 
AnswerRe: Multiple resource files per culture Pin
Eddy Vluggen1-Oct-19 14:59
professionalEddy Vluggen1-Oct-19 14:59 
AnswerRe: Multiple resource files per culture Pin
Leon Swift21-Nov-19 1:40
Leon Swift21-Nov-19 1:40 
QuestionLoading Dropdown Pin
chennaiprince13-Jul-19 3:18
chennaiprince13-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
professionalMycroft Holmes13-Jul-19 11:06 
AnswerRe: Loading Dropdown Pin
C. David Johnson13-Sep-19 7:58
C. David Johnson13-Sep-19 7:58 
GeneralRe: Loading Dropdown Pin
Eddy Vluggen13-Sep-19 8:02
professionalEddy Vluggen13-Sep-19 8:02 
QuestionHow to get applicable OOP / software structure knowledge Pin
qkhanhpro1-Jul-19 21:34
qkhanhpro1-Jul-19 21:34 
AnswerRe: How to get applicable OOP / software structure knowledge Pin
OriginalGriff1-Jul-19 21:46
mveOriginalGriff1-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:
C#
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 
AnswerRe: How to get applicable OOP / software structure knowledge Pin
Benktesh Sharma7-Aug-19 18:55
Benktesh Sharma7-Aug-19 18:55 
QuestionDesign an algorithm for generic database analytics Pin
Michael Sterling29-May-19 23:18
Michael Sterling29-May-19 23:18 
AnswerRe: Design an algorithm for generic database analytics Pin
Eddy Vluggen30-May-19 0:04
professionalEddy Vluggen30-May-19 0:04 

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.