Злоупотребление переопределением примитивных типов данных? - PullRequest
1 голос
/ 08 октября 2011

В моей базе кодов текущего проекта каждый юнит и его друг уточнены.

Извлечение: -

...
typedef int m; // meter
typedef int htz;
typedef int s; // second
...

Хорошо или плохо?
Я ненавижу это!Это боль, никакой пользы нет, и «m» определено глобально, боже мой!

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

Могут ли люди перечислить аргументы за / против этого шаблона?Большое спасибо.

Ответы [ 2 ]

4 голосов
/ 08 октября 2011

Лучше сделать их пользовательскими типами, так как тогда вы сможете управлять преобразованиями и операторами перегрузки. Прямо сейчас я могу делать бессмысленные вещи, такие как умножение метра на герц. В идеале, м / с даст скорость, но это не так. Бессмысленно просто typedef им нравится.

2 голосов
/ 08 октября 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...