Click here to Skip to main content
15,894,405 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: C# code survey Pin
jhunley31-Oct-18 5:00
jhunley31-Oct-18 5:00 
GeneralRe: C# code survey Pin
Bruce Patin31-Oct-18 3:44
Bruce Patin31-Oct-18 3:44 
GeneralRe: C# code survey Pin
michaelakin31-Oct-18 4:19
michaelakin31-Oct-18 4:19 
AnswerRe: C# code survey Pin
Leonardo Pessoa31-Oct-18 6:43
Leonardo Pessoa31-Oct-18 6:43 
GeneralRe: C# code survey Pin
Leng Vang31-Oct-18 8:06
Leng Vang31-Oct-18 8:06 
GeneralRe: C# code survey Pin
Super Lloyd31-Oct-18 9:17
Super Lloyd31-Oct-18 9:17 
GeneralRe: C# code survey Pin
Roger House31-Oct-18 14:10
Roger House31-Oct-18 14:10 
GeneralRe: C# code survey Pin
patbob1-Nov-18 5:29
patbob1-Nov-18 5:29 
Option 2.

There should never be a possibility where an object can get constructed without it being initialized properly. Making them mandatory or optional parameters to a constructor achieves that, and the compiler will find every last place where someone has initialized the object incorrectly. Not only that, it'll run very early in the development process, ensuring that the developer that just added the new parameter has all those details still fresh in their head when the bugs are found. What better unit test could you possibly hope for?

The other aspect of how you've been asked to rewrite that code is also a better practice -- you've been asked to reduce the public interface by removing the property setters. This just ensures that nobody can reach into your object and twiddle those properties after it's been constructed. If someone needs that, they can change your code, but hopefully they will evaluate whether there's a better that ensures the object can't be put in a bad state. If the object can't ever be put in a bad state, you can't have bugs because someone was sloppy.
I live in Oregon, and I'm an engineer.

GeneralI was sent this, and... Pin
OriginalGriff29-Oct-18 21:03
mveOriginalGriff29-Oct-18 21:03 
GeneralRe: I was sent this, and... Pin
Chris Maunder30-Oct-18 3:09
cofounderChris Maunder30-Oct-18 3:09 
GeneralRe: I was sent this, and... Pin
OriginalGriff30-Oct-18 3:19
mveOriginalGriff30-Oct-18 3:19 
GeneralRe: I was sent this, and... Pin
kalberts30-Oct-18 3:43
kalberts30-Oct-18 3:43 
Generalif you are feeling smart today...! Pin
David Crow29-Oct-18 10:34
David Crow29-Oct-18 10:34 
GeneralRe: if you are feeling smart today...! Pin
Kschuler29-Oct-18 10:43
Kschuler29-Oct-18 10:43 
GeneralRe: if you are feeling smart today...! Pin
Sander Rossel29-Oct-18 10:44
professionalSander Rossel29-Oct-18 10:44 
GeneralRe: if you are feeling smart today...! Pin
CodeWraith29-Oct-18 10:46
CodeWraith29-Oct-18 10:46 
GeneralRe: if you are feeling smart today...! Pin
Sander Rossel29-Oct-18 11:35
professionalSander Rossel29-Oct-18 11:35 
GeneralRe: if you are feeling smart today...! Pin
CodeWraith29-Oct-18 11:39
CodeWraith29-Oct-18 11:39 
GeneralRe: if you are feeling smart today...! Pin
OriginalGriff29-Oct-18 12:42
mveOriginalGriff29-Oct-18 12:42 
GeneralRe: if you are feeling smart today...! Pin
CodeWraith29-Oct-18 10:45
CodeWraith29-Oct-18 10:45 
GeneralRe: if you are feeling smart today...! Pin
Marc Clifton29-Oct-18 11:26
mvaMarc Clifton29-Oct-18 11:26 
GeneralRe: if you are feeling smart today...! Pin
Slacker00729-Oct-18 13:07
professionalSlacker00729-Oct-18 13:07 
GeneralRe: if you are feeling smart today...! Pin
DRHuff29-Oct-18 14:00
DRHuff29-Oct-18 14:00 
GeneralRe: if you are feeling smart today...! Pin
User 5924129-Oct-18 17:54
User 5924129-Oct-18 17:54 
GeneralThought of the Day PinPopular
OriginalGriff29-Oct-18 6:00
mveOriginalGriff29-Oct-18 6:00 

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.