30 במאי 2009
This is a third post in the series of posts about “Separate Domain from Presentation” Refactoring. Previous Posts: Separate Domain from Presentation – part I Separate Domain from Presentation – part II Last time we explained how to refactor towards MVP – Supervising Controller pattern. We left our project in the following state: In this post I will complete the required refactoring steps and will suggest more steps to even deepen the separation of UI and BL concerns. Refactoring Steps: ...
28 במאי 2009
Here is a scoop; The good software engineer is lazy! You don’t believe me? Then ask yourself this: If a good software engineer was not lazy why would he:
Reuse a function instead of duplicating its code?
Explicitly name a function for its behavior instead of naming a function F1 and providing a non descriptive (and possibly long) documentation?
Yet, here is another scoop; The bad software engineer is lazy too! While this statement clearly isn’t a shock to you, it immediately pop-ups the question:
What is the difference?
The difference is that a good software engineer is lazy in a...
24 במאי 2009
The Scientist Office provides support to Israeli hi-tech companies in the field of innovative research and development (R&D). A month ago we applied for such a support and I was advised (thanks to Avi) to summarize the experience for those who might be interested in the future.
Here is a short list of Don’ts and Dos from the technology perspective.
DON’Ts and DOs:
Don’t use external consultants:
All the information is freely available here.
The application forms are easy to follow and easy to understand.
Using an external consultant only adds complexity, sometimes due to his eagerness to “contribute” to the process....
19 במאי 2009
This is a second post in the series of posts about “Separate Domain from Presentation” Refactoring. Previous Posts: Separate Domain from Presentation – part I Last time we discussed the ways to disconnect the Presentation (FrmMain) from the Domain Object (CoursesDS) in the IRefactor.CoursesView project. As a consequence, instead of the bloated all-in-one initial project we ended with the following: IRefactor.CoursesView – represents the View (CoursesView) without the domain object. IRefactor.Common – represents the domain object (CoursesDS) without the UI elements. It’s time...