icon-mobile-menu.svg

Lecture Notes on Object-Oriented Programming

Naming Conventions

A standard naming scheme for classes, objects, instance variables, and methods is important. Here are two alternatives.

Naming Scheme 1

Class names: concatenated words each starting with upper case.

  • Account, BankAccount, CashDispenser, SortedIntegerQueue

Objects, ivars, methods: concatenated words, first word all lower case, subsequent words starting with upper case.

  • balance, shareBalance, count, quantityOfFives
  • list, nodeList, account, newAcct
  • deposit, balance, objectAt, dispenseMoney

Naming Scheme 2

Class names: concatenated words each starting with upper case.

  • Account, BankAccount, CashDispenser, SortedIntegerQueue

Objects: lower case separated by underscores.

  • list, node_list, account, new_acct

Ivars: lower case separated by underscores.

  • balance, share_balance, count, quantity_of_fives

Methods: concatenated words, first word all lower case, subsequent words starting with upper case,

  • deposit, balance, objectAt, dispenseMoney

Hungarian Notation

Everything has a tag that identifies it. This tag is appended to the name, so, for example, an ivar named height of type float might be called height_i_f. Similarly, every class ends in the capital letter "C".

This scheme forces you into the solution space (programming language) and distracts you from the problem space.

Names are vitally important, for the same reason they are important in non-OO languages, but also because of the anthropomorphic nature of OO programming.

It is common in OO languages to name things with the name of the class and a definite or indefinite article ( Control, aController; View, theView). These names are fine when something more appropriate can't be found (List, employees).