4,354 reputation
1121
bio website None
location North Carolina
age 50
visits member for 4 years, 4 months
seen May 22 at 19:10
Software Engineer

May
22
comment C# obtain derived class from base
The anti-pattern begins long before any of the suggested methods. The real anti-pattern is that the base class cares which derived class it is.
May
12
comment Design method to return List of objects
Aargh...why does everyone say it is difficult to implement singleton. While there's seldom a need, but if you do decide that singleton is the way to go then you create it at startup. Done. No difficulties. Well...unless you go singleton "happy" and singleton's start needing other singletons. However, if your design requires that then you should probably be thinking of switching to a different career because software design is obviously not your strong suit.
Apr
30
comment Programming vs Planning
To add to Blaise's comment. Bad managers insist on meeting the schedule and blame the team for missing "commitments". In that environment, schedules are certainly frustrating. Good managers realize that the initial schedule is a baseline guess and not a commitment. They know that some tasks will take longer and some shorter. What they are most interested in is long term trending. e.g. We are currently running 20% behind on the baseline schedule over 3 months. That likely means we'll run 20% over on the remaining similar tasks. They then use this new schedule for managing the project.
Apr
30
comment what gets testers invested in the releases they test?
@Robert-The specific examples might not all need to be there but if you look at all the items on the list they can be summarized to "Clear set of responsibilities", "Authority to impose your responsibilities on the program" and "Provide the tools/information necessary to perform the responsibilities". So I'd say, to be an effective QA, you need some variation of "all of this". Also, I think Michael is thinking of a QA person versus a Test Person, which share a lot of the same responsibilities but aren't quite the same.
Apr
30
revised what gets testers invested in the releases they test?
deleted 7 characters in body
Apr
30
revised what gets testers invested in the releases they test?
Added Other Info section
Apr
30
revised what gets testers invested in the releases they test?
deleted 2 characters in body
Apr
30
comment what gets testers invested in the releases they test?
You simply defined the desired outcomes/goals to be fulfilled from the roles. I think the question is asking how to actually get the tester to be "motivated" to do a really good job of fulfilling their role.
Apr
30
answered what gets testers invested in the releases they test?
Apr
30
comment Is MVC controller an use case controller?
Is your question about how to define the Use-Case Controller and how it is different from a MVC Controller (or fits into the MVC architecture) OR is it "how to define the MVC Controller"? If you are asking about how to define the MVC Controller then this is a duplicate of many similar questions. The basic answer being that there are dozens of different interpretations on defining a MVC Controller, so learn some of those interpretations and pick one that fits your system.
Apr
30
comment How to make people new to programming stop asking me questions and distracting me?
Programming questions answered: Cost = 1 Mountain Dew. At least it is affordable and you don't come off as a pr*&^k. You'll have the side benefit of being able to stay up all night programming:p You might even get good enough with all the extra programming that you can then charge a can of Monster Energy drink and be able to stay up even longer programming.
Apr
30
comment How to make people new to programming stop asking me questions and distracting me?
@Chuck-The philosophy is good but when it meets the real-world, it often doesn't work. Sometimes you run into that person who finds that it is easier to keep asking for help than to actually spend effort figuring out the answer their self. I don't mind when it is one-off occasionally, but when it becomes the person's default behavior it severely impacts my ability to meet schedule. When this happens, I ask them to please start emailing the question and I will get to it when I am not involved in something else. Then they either latch on to someone else or learn to figure it out on their own.
Apr
30
comment Top-down vs Bottom-up approach when designing a class library
You left out the 3rd option which is to pick a specific Use-Case and get that entire Use-Case working. Top-down/Bottom-up doesn't matter. Pick another Use-Case and repeat, refactor as necessary. Keep repeating until done. This approach may lead to a lot of rework as new functionality is added but you shouldn't need to just throw stuff away and begin again. IMO, the more optimal approach is to identify most all of your use-cases, pick the most architecturally impactful ones, do the design and implementation on those. Then adding later use-cases shouldn't have large refactorings required.
Apr
30
comment Is it okay to have objects that cast themselves, even if it pollutes the API of their subclasses?
@Patrick-It isn't true that it doesn't make sense. This type of problem occurs when the design made sense and was possibly pretty good but then later requirements caused things to get messy. This is the same kind of problem that resulted in creating the Component-Entity-System Architecture that is widely used in game programming. e.g. The initial design with a Move method on the interface worked perfectly. A bird would fly, a person would walk. But then your game added a Dragon that could either fly or walk. Then it starts becoming messy as the original design makes sense but isn't good.
Apr
29
comment Is it okay to have objects that cast themselves, even if it pollutes the API of their subclasses?
@Doval-I agree with you conceptually but Visitor does usually obfuscate things. "Easy to understand" is a very close 2nd to "It works" in my book. Like I said, I looked at my current code and about the only places where we even care about the type is when using .Net functionality (e.g. XmlSerializer, CompareTo, QueueUserWorkItem). Other than that we call GetType for some log entries to report which derived class is creating the log entry, only use typeof when converting strings to Enums, and not much more. So I'm convinced this is solvable by an easy to understand design.
Apr
29
comment Is it okay to have objects that cast themselves, even if it pollutes the API of their subclasses?
@Mike-There are special case situations where these methods are useful. Particularly when serializing/deserializing objects and for being able to programmatically examine classes when building productivity tools like Intellisense. Just because something exists doesn't mean it is a good idea or was intended to be used for normal purposes.
Apr
29
comment Is it okay to have objects that cast themselves, even if it pollutes the API of their subclasses?
@codebreaker-A possible strategy to come up with a better design would be to write some Use-Cases for just your Base class. Try to do a quick design based purely on the Use-Cases. Try not to let the existing design influence your new design. I'll bet you solve your problem. I find a 4x6 whiteboard indispensable for these types of situations.
Apr
29
comment Structuring Procedural vs OO code
I admit that my comment is really geared at your "only difference" comment. I have seen quite a few, there's not much difference comments, so I had to respond. Having entered the field when structured design was all the rage, I can tell you first hand that OO and structured are dramatically different. I'm sure there are quite a few senior people who got to "enjoy" their first go at an OO project and thought that OO was just C with classes. They'll clearly tell you that the missed deadlines or failed project removed that myth from their mind forever. They are dramatically different mindsets.
Apr
29
comment Structuring Procedural vs OO code
You are passing behavior with the data. IOW, you are passing a class to the draw_shape function. Explain how that is not OO programming?
Apr
29
comment Is it okay to have objects that cast themselves, even if it pollutes the API of their subclasses?
It's legitimate if you designed yourself into a box, sure. That's the problem with a lot of these types of questions. People make decisions in other areas of the design which force these type of hackish solutions when the real solution is to figure out why you ended up in this situation in the first place. A decent design won't get you here. I'm currently looking at a 200K SLOC application and I'm not seeing anywhere that we needed to do this. So it isn't just something people read in a book. Not getting in these types of situations is simply the end result of following good practices.