Issue 26: problem1.4: замечания
Status:  Verified
Owner:
Closed:  Jun 2011
Project Member Reported by alsergbox, Jun 12, 2011
* Убери problem1.4.cpp из svn'а.
* Список частых замечаний не прочитан или не осознан.

main.cpp:
* Лучше явно подключать необходимые заголовочные файлы.

long_int_t.h:
* Не надо делать using в заголовочных файлах вне классов и функций. Не надо добавлять в глобальную область видимость то, что никто не просил.
* BASE и BASE_LENGTH следует сделать членами класса.
* Конструктор от вектора лучше сделать private. Снаружи не интересно, как число устроено изнутри.
* operator| — это побитовое или, которое вполне имеет смысл для длинных чисел. А то, для чего его используешь ты — очень неочевидно. Надо назвать нормально.
* Почему is_negative не оканчивается на символ подчеркивания как все остальные поля? И вообще, как я понимаю, его надо убрать.
* search — плохое название.
* Два typedef'а в конце — не нужны

long_int_t.cpp:
* Следует использовать списки инициализации, там где это возможно.
* Дефолтный конструктор какой-то подозрительный.
* 223 — двойной отступ.
Jun 13, 2011
Project Member #1 adkoz...@gmail.com
Все исправил.

Список перечитал и осознал. :)
Status: Fixed
Owner: alserg.evaluator
Labels: -Type-Defect -Priority-Medium
Jun 16, 2011
Project Member #2 alsergbox
long_int_t.h:
* «Два typedef'а в конце — не нужны» — совсем не нужны. То есть их надо убрать — либо вообще, либо внутрь класса.

long_int_t.cpp:
* Дефолтный конструктор лучше не стал. Стал даже хуже. Что по-твоему он должен делать? Я всегд думал, что дефолтный конструктор длинного числа должен создавать нечто, эквивалентное нулю.
* В методах класса в область видимости и так включается все из этого класса, поэтому явно указывать long_int_t:: не надо.
* Выражение после return не обязательно заключать в скобки.

Status: Accepted
Jun 16, 2011
Project Member #3 alsergbox
И еще одно:
* Лучше подключать сначала внешние хидеры, и только потом свои. Желательно каждую группу (boost, stl, свои, ...) выделять пустыми строками. Если внутренние хидеры (которые часто добавляют все в глобальное пространство имен) будут объявлены до внешних (в которых все обычно в каком-нибудь неймспейсе), то может случится конфликт имен.
Jun 16, 2011
Project Member #4 adkoz...@gmail.com
Я не знаю почему, но у меня студия принципиально не видит BASE_LENGTH без префикса long_int_t::.

Остальное поправил.
Status: Fixed
Jun 16, 2011
Project Member #5 alsergbox
Я не знаю почему, но у меня студия принципиально не видит BASE_LENGTH без префикса long_int_t::.

* Это, наверняка, было в operator>> и operator<< — они не являются методами класса. В остальных все должно быть ок.
Status: Accepted
Jun 17, 2011
Project Member #6 adkoz...@gmail.com
Поправил. Там и было, а я не обратил внимания, где это было.
Status: Fixed
Jun 18, 2011
Project Member #7 alsergbox
(No comment was entered for this change.)
Status: Verified