Bjarne Stroustrup'dan Öğütler

by Suat TUNCER 26. May 2007 10:41

Şu sıralar C++ ile ilgileniyorum. Dilin geliştiricisi olan B.Stroustrup'un kitabından bir Advice kısmını paylaşmak istedim
 

   1. When you program, you create a concrete representation of the ideas in your solution to some problem. Let the structure of the program reflect those ideas as directly as possible:
      a. If you can think of ‘‘it’’ as a separate idea, make it a class.
      b. If you can think of ‘‘it’’ as a separate entity, make it an object of some class.
      c. If two classes have a common interface, make that interface an abstract class.
      d. If the implementations of two classes have something significant in common, make that commonality a base class.
      e. If a class is a container of objects, make it a template.
      f. If a functıon implements an algorithm for a container, make it a template functıon implementing the algorithm for a family of containers.
      g. If a set of classes, templates, etc., are logically related, place them in a common namespace.


   2. When you define either a class that does not implement a mathematical entity like a matrix or a complex number or a lowlevel type such as a linked list:
      a. Don’t use global data (use members).
      b. Don’t use global functıons.
      c. Don’t use public data members.
      d. Don’t use friends, except to avoid [a] or [c].
      e. Don’t put a ‘‘type field’’ in a class; use virtual functıons.
      f. Don’t use inline functıons, except as a significant optimization.

Tags:

Teoriler