2,453 reputation
1225
bio website
location
age
visits member for 3 years, 7 months
seen Jul 8 at 23:54

Jul
2
awarded  Curious
Apr
25
comment HTML5 hype as native app replacement - reliable analysis and sources
For what it's worth, I've been working with WPF since about 2009, and I'm still very fond of it for several reasons.
Apr
9
comment Should refactoring be the exception or the rule?
I'd like to point out that refactoring is not the same as adding features or changing behavior. It's a restructuring of code to make it more maintainable. So if you get a new requirement for French phone numbers, the code should have already been in a state where it's easy to add the new functionality. Refactoring happens when you realize it's not easy to add hypothetical new features.
Apr
7
reviewed Approve suggested edit on Beginner's guide to writing comments?
Apr
4
comment Defensive Programming vs Exception Handling?
As a .NET programmer, I cringe at this. But then again, you people do everything weird. :)
Mar
27
answered Dependency Injection vs Mixing Levels of Abstraction
Mar
25
comment How to design my code so that it can use alternative information to help create an object
@Dennis The SRP can apply on different levels. For example, the purpose of the factory is to build a Product object given the input parameters. So the factory has all the logic it needs to do just that, including the necessary logic to get info from a DB. Still one single responsibility, just on a higher level. Of course your factory shouldn't have SQL queries in it, but it can call a function or two on a repository object.
Mar
17
reviewed Reject suggested edit on Complete immutability and Object Oriented Programming
Mar
17
reviewed Approve suggested edit on Multiple entrance points in project
Mar
17
reviewed Reject suggested edit on How do I evaluate if an Orchestration is the appropriate design pattern for a given problem?
Mar
17
reviewed Reject suggested edit on NoSQL design - Storing project assignments
Mar
17
comment How important is it to clean up someone else's code when faced with a tight deadline?
Thanks for the clarification. +1 especially for the comments.
Mar
17
comment How important is it to clean up someone else's code when faced with a tight deadline?
I 100% agree with you, however I wonder how to apply this in the presence of tight deadlines. Do you suggest doing code reviews even though they may suck up more of our precious limited time (in both the reviewing process and the corrections made after the review)?
Mar
13
reviewed Reject suggested edit on Can “Junior” be used in a resume?
Mar
12
comment Best practice for security checks, in surface or deep layer?
This sounds pretty good, but I'd be concerned about having only one layer of security. If someone is able to somehow get past your proxy, your whole system is rendered naked and vulnerable.
Mar
12
comment Best practice for security checks, in surface or deep layer?
Your edit "What are the best practice to make sure an app is secure and the code is easy to maintain?" makes the question more generic and less answerable than the original. You may consider changing your question to "Where should security checks be placed - closer to the client, closer to the database, or all throughout? And why?"
Mar
11
reviewed Approve suggested edit on How to decouple simple factory and default implementation?
Mar
11
comment Is it bad practice to allow user defined fields?
@MichaelT Very insightful, thanks a lot.
Mar
11
comment Is it bad practice to allow user defined fields?
Are there any downsides to just modifying the schema at runtime? If the user thinks a thing needs a new attribute, just dynamically add a column to the table?
Mar
10
comment How do I handle merging code that hasn't been merged in ~3 years in an agile manner?
I have a similar project where I created a branch for a major change. Over time it became evident that these two branches needed to remain separate because they had fairly different uses even though they shared a lot of code. Eventually they diverged into two entirely separate products and we decided to separate the two projects even more by moving the branch to a whole new repository. Merging would have just made both products worse, and separating gave us freedom because we stopped being concerned about that day when we eventually have to merge this mess.