Did you like how we did? Rate your experience!

4.5

satisfied

46 votes

Why does Robert C.?

Natural language provides an abundance of nuance, a surfeit of subtlety, a plethora of exposition or obfuscation. The core issue with those words is their lack clarity and precision, they are rather ambiguous. A Manager of who? A Processor of what? What kind of data or info? Those words are highly abstract and should be avoided in concrete situations when a more suitable word is available. In theory they could be suitable for very broad abstractions that match their real life width of scope, but in practice it is a code-smell because it is far more commonly indicative of woolly thinking in naming than genuinely widely used abstractions. This is an example of rule #1 of programming. Rules are for the obedience of fools and guidance of wise men. So follow the authors suggestion unless you have damned fine reason to flout it. Talk to somebody in the HR department and they tell you a Manager is an employee with authority over other employees. Talk to somebody in Payroll and you learn that a Manager can authorise expenses. Talk to somebody in Accounts and you learn that a Manager is somebody with an authorised budget. Talk to somebody in the executive and you learn that Managers are those that turn plans into actions. etc, etc. All of these answers are correct within their context, but they are also wrong when outside their contextual qualification. That is why highly abstract words are generally inappropriate. Customer is an abstraction but its scope is quite limited, Manager and Process are abstract and far more ambiguous. So the InvoiceProcess could be better named the SalesDayBook and the SalesManager as the CashDayBook. Explicit context gives immediate clarity.

100%
Loading, please wait...