Which modules are needed

Seriously, I joined the project after it was underway, so I wasn't part of the initial design discussions.

That said, pretty much every aspect of the application was reviewed and evaluated. There are significant resemblances, obviously. Northwind has an inventory of products which it sells to customers and employees who sell them. Those conceptual things don't really change, although the architecture was recreated.
I guess the best analogy I could come up with would be Electric Vehicles. Although they are very different in many ways, they still have four tires, some sort of power plant, some sort of drive train, steering, etc. It would be quite challenging to think up practical alternatives to some of those things. Going back centuries, horse and oxen pulled wagons also had four wheels. Early motor cars were, in fact, called "horseless carriages".

This is a very good question, in fact, because it speaks to the whole nature of a template. Templates are effective, I would suggest, because they encapsulate many, or most, of the features that are common to a class of business operations. If you are tracking operations of a trading company, or wholesaler, you're going to have to include Products, and so on. If you are tracking employees, you need hiring and firing records. Although each custom application can implement them differently, they have to be there.

So, in that sense, yes, NW 2 is the heir to NW 1.
 
@gemma-the-husky I don't think that any of the code or objects were reused directly. The tables wre partly reused because the underlying purpose of the application remained the same
it's hardly worth the time trying to identify code that could be removed or improved.
Developers who still think that writing code is the hardest part of a project are loath to remove code that is no longer relevant. They're always afraid they still need it. It takes developing discipline and the desire to have a "clean" workspace to bring them up to the ability to axe code - or at least comment it out - when they replace it. As I'm developing, If I need to rework a procedure, I generally comment it out in case I decide to go back but once the replacement code is working, I normally delete the original version. Very rarely, I'll copy the code and put it into my source safe for later use. Experienced developers clean up as they go along, just like efficient home cooks. At the end, the only reason to go back and review parts of the application should be to speed them up. But, when you are starting from a place where you know there is unused and sloppy code, and you need to make enhancements, I am more likely to start from scratch and rethink the whole procedure.
 
[OT]
Once upon a time ;) ... I created an add-in to display the dependencies of codemodules using GraphViz.

Example output for NW2 (Starter):
nw2-codemodul-depend.png


I was a bit surprised when I saw the double arrow between modDao and modOrders in the picture. Wouldn't have expected modDAO to be dependent on modOrders. (Causes in modOrders is a general function for random numbers, which is also used in modDAO).

The add-in is old (~2010), but if someone wants to try it out or extend it to show the dependencies between the procedures, I'll post it on GitHub.
/edit: https://github.com/AccessCodeLib/ACLibCodeStructReader
 
Last edited:
Hi @Josef_P.
Yes please. It might fit in well with my database analyzer project that is nearing completion
Better still could you email it to me?

1688832571132.png

Items where Orphans is ticked have MISSING dependencies
 

Users who are viewing this thread

Back
Top Bottom