Clean Code
13.3K subscribers
2.32K photos
5 videos
2.97K links
Советы по написанию кода, обзоры распространенных ошибок и многое другое.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

РКН: clck.ru/3Ht6ch
加入频道
Основные советы по использованию указателей

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

❶ Изолируйте операции с указателями в методах или классах;
❷ Выполняйте объявление и определение указателей одновременно;
❸ Удаляйте указатели в той же области действия, где они были созданы;
❹ Проверяйте переменную, на которую ссылается указатель, перед ее использованием;
❺ Упрощайте сложные выражения с указателями;
❻ Нарисуйте картинку;
❼ Уничтожайте мусор.

При работе с указателями нужно быть предельно осторожными и продумывать каждую инициализацию, а также следить за обращениями к памяти. Здесь, как и везде, решает опыт и тщательный расчет.

#tips #pointers
Обnull-яйте указатели

При удалении или освобождении указателей им следует присваивать NULL. Одна из самых распространенных проблем - так называемый "висячий указатель", т.е обращение к указателю после вызова delete или free.

Да, ваш код по-прежнему может где-то читать некорректные данные по пустому указателю, однако запись по этому адресу приведет к ошибке, которую обнаружите вы, а не пользователь вашей системы.

#programming #pointers
Долгие прелюдии

Работая с указателями, необходимо быть крайне осторожными, т.к. данная концепция является, вероятно, одной из самых трудных для понимания.

В процессе разработки рекомендуется включать в работу методы для проверки целостности указателей и данных, на которые они ссылаются, для исключения ошибок. Когда код полностью готов, накладки, связанные с проверками, можно исключить, просто оставив тело метода проверки пустым.

#programming #pointers