2. SYMPTOMS
Rigid approach - focusing on specific
implementation instead of providing generic feature
(Restrictive user experience)
Enhancements require major changes
Reviewing the necessity of a feature
Annoyance (Adverse to modification requests)
3. SOLUTIONS
Think Generic (although requirement is specific)
Welcome user conveniences
Do not overrate your capabilities
Analyze existing successful architectures and the
intent behind the design
Scientific notation for numeric control
Difficult to implement keyboard input even though mouse input is present. Pan/Rotate View
The application supports Zooming, but a new feature comes to do zooming on mouse wheel, or maybe zoom around a specific point
Not providing tabbed window
Autocomplete edit like in google toolbar, but you should keep in mind the autocompletion window can be attached to any input control (TextBox, ComboBox, maybe even a editable cell in a grid control)
Serialization – you can add it to anything
2. Allow the user to move the window by dragging any where (not just title bar)
3. You shouldn’t think your design is the state of the art architecture, if a request is hard to fulfill with the design u have, then maybe the request has a problem.. Change this notion
4. C# providing so many APIs to do a simple string concatenation – whether it is good or bad, at least try to know the intent
4. a) Convert.ToString(int x) int.Parse(string s) (maintainence)
Just because you currently have a good solution doesn’t mean it is the best one. If in future when ur design or solution faces more questions than u can answer u have to accept that what you did initially was not good enough and be prepared to outperform what you now achieved given another oppurtunity, resource and time.
Do not feel fully content