Pull to refresh
14
0
Фастов Иван @c0d3r

User

Send message
В нашем проекте много шаблонов. cpplint не на один из них не выдавал предупреждения. Исключения тоже не были замечены в warning'ах. Кроме того, в рамках данного проекта cpplint запускается с некоторыми отключенными проверками (в том числе и проверка копирайта; полный список отключенных проверок может подсказать автор).
Резюме: данный скрипт помог нам выявить достаточно много «вольностей», которые позволяют себе программисты при написании кода.
Извините за нескромность, не могли бы вы добавить ссылку на статью про for/foreach на rpod'е.
Хочу еще добавить. Поменяв назначение параметров вы, как мне кажется, не сможете эффективно исправить все места использования вашей функции без статической проверки типов компилятором.
По поводу комментария. Если вы решите изменить назначение параметров, то вам придется править комментарий. Об этом часто забывают, и комментарий становится источником ошибок при использовании вашего кода (про это писал вроде С. Макконелл в книге «Совершенный код»).
Я думаю что вот это:
  • Использование новых ключевых слов (constexpr, auto)
  • Не писать макросы для того, что реализуется на шаблонах (пример с оператором деления)
Основной посыл статьи — не лениться писать классы для передаваемых параметров в ваши функции и проверять как можно больше на этапе компиляции.
Все эти конструкции легко «обмазываются» typedef-ами. Здесь решил оставить так для большей наглядности.
Справочник и карта города 4geo. Написан с использованием Qt 4.7, собирается под плафтормы Windows, Linux, Mac Os X (Android не на Qt)
Я думаю имело смысл протестировать с менее регулярными данными для сортировки (во имя рандома!).
Ещё неплохо было бы указать использованное железо. Ну и из разряда высшего пилотажа — посмотреть результаты на процессоре с другим объёмом кэша.
Мне кажется, что большинству пользователей не нужны desktop-ы. Идеальным устройством для них может служить планшет/приставка/телефон. А тем, кому нужны, имхо, сами в состоянии разобраться как и зачем отключать ненужную фичу, если созрели для установки альтернативной ОС.
Да большой разницы нет какой брать. У нас был этот (в виде отдельного расширения), который малой кровью удалось скомпилировать под C.

Information

Rating
Does not participate
Location
Новокузнецк, Кемеровская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead