Советы по программированию

1. Выражение, стоящее в круглых скобках операторов if, while и do – while вычисляется по правилам стандартных приоритетов операций.

2. Если в какой-либо ветви вычислений условного оператора или в цикле требуется выполнить два (и более) оператора, то они при помощи фигурных скобок объединяются в блок.

3. Проверка вещественных величин на равенство друг другу может дать неверный результат из-за ограниченной разрядности:

 

double x=1./3 ; // x=0.333333333333333

double y=x*3; // y=0.999999999999999

double z=1; // z=1.000000000000000

if (y==z) // Условие считается ЛОЖНО!

 

Рекомендуется поэтому вместо проверки двух вещественных величин на равенство (==) или неравенство (!=) вычислять разницу между ними и сравнивать ее с заданным малым числом - допустимой погрешностью, например:

 

if (fabs(y-z)<0.0000001)

 

4. Чтобы получить максимальную читаемость и простоту структуры программы, надо правильно выбирать способ реализации ветвлений (с помощью if, switch или условных операций), а также наиболее подходящий оператор цикла.

5. Выражение в операторе switch и константные выражения в case должны быть целочисленного или символьного типов.

6. Рекомендуется использовать в операторе switch ветвь default.

7. После каждой ветви для передачи управления на точку кода за оператором switch используется оператор break.

8. При построении любого цикла надо не забывать тот факт, что в нем всегда явно или неявно присутствуют четыре основных элемента: начальные установки, код цикла, модификация параметра цикла и проверка условия на продолжение цикла.

9. Если количество повторений цикла заранее не известно (реализуется итерационный процесс), необходимо предусмотреть аварийное завершение цикла при получении достаточно большого количества итераций.

10. При использовании бесконечного цикла обязательно необходима организация выхода из цикла по условию.