Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Request for Clarification

 Why is the class called TransactionEvent instead of Transaction? Is there such a thing as a transaction that cannot be said to have happened? Also, given 'event' has a special meaning in finance, if you are going to call this out, should it not be called TransactionOccurrence?

Recommended Changes

 

ReFactoring Suggestions

Classes with names that are too general

The definition of caa:Account narrowly pertains to "a contractual relationship between a buyer and a seller", but this exludes many important accounts in finance, not a bank accounts and investment accounts. 

Proposed Solution:  Two options.

  1. Preferred: do not have a class that means what the current class means. Have a class called Account that means the more general case.
  2. Other: create a second more general class, if for some reason it is important to have both versions.

There are ripple effects, for example for Loans I want an account transaction history, so I want to use AccountingTransactionEvent, but it is limited to a too narrow a sense of account.

Properties with too narrow domain and/or range

...