Страниц: 1 2 3 [4]
  Печать  
Автор Тема: Работа через USB с FlirOne Gen 2  (Прочитано 2701 раз)
da-nie
Full Member
***
Offline Offline

Сообщений: 156



Просмотр профиля
« Ответ #45 : Июля 10, 2017, 12:38:45 pm »

Цитировать
Почему метод написан так, что сам код не объясняет решение/подход?

Но этот вопрос сродни вопросу, как имея формулу расчета, понять, как она была выведена? За каждой функцией лежит некий алгоритм. Вот в приведённой функции, например, даже прочитав описание идеи (я эту идею взял из книжки Хонича 1996 года “Как самому написать трёхмерную игру”, описывающую DooM изнутри) не сразу понимаешь, как это работает – придётся посидеть с карандашом и понять идею изменения столбцов экрана при проецировании сегмента на экран.

Цитировать
начиная от того что нет нужды разделять объявления локальных переменных и их инициализацию, 

Ну, это вопрос эстетики. На мой вкус так смотрится лучше. Smiley Также не люблю в одну строчку объявлять кучу переменных – каждой своя строка – ну не нравится чисто визуально.

Цитировать
до того - что циклы с отрисовкой - явные кандидаты на сервис-методы

Да ну, зачем ещё ради 10 строчек отдельную функцию плодить…

Цитировать
Читаемость кода - в приоритете даже над его производительностью!

Это верно. Однако, тут тоже на всех не угодишь.

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

Это непривычный для меня вариант. Smiley Может быть, потом понравится. Smiley

Цитировать
Ну и так, между прочем - он вернет константную ссылку. Между прочим, метод может быть констэкспр - вычисленный на этапе компиляции. Метод может быть заинлайненый.

В случае с классом - да, все эти методы будут inline (если я их не вынесу в cpp-файл). В других случаях с заданным явно inline - как повезёт. В целом, да, использование класса снимет эту проблему. Хотя, возможно, стоит всё же посмотреть IDA что конкретно сделает компилятор и на что будет похож такой код в сравнении с обычным макросом.
Записан

И день и ночь в пути
lastcross
Full Member
***
Offline Offline

Сообщений: 219


Просмотр профиля
« Ответ #46 : Июля 10, 2017, 02:10:21 pm »

Но этот вопрос сродни вопросу....
Я вдруг понял - Вам не нужны объяснения). Странно правда, что Вы исренне удивляетесь при этом замечаниям сторонних людей)

Цитировать
стоит всё же посмотреть IDA что конкретно сделает компилятор и на что будет похож такой код в сравнении с обычным макросом.

О! Эта великая экономия на спичках! Вот они преимущества макросов ))
Записан
da-nie
Full Member
***
Offline Offline

Сообщений: 156



Просмотр профиля
« Ответ #47 : Июля 10, 2017, 02:28:31 pm »

Цитировать
Я вдруг понял - Вам не нужны объяснения). Странно правда, что Вы исренне удивляетесь при этом замечаниям сторонних людей)

Да нет, нужны. Smiley Просто я их так же анализирую, оцениваю и сравниваю в разных ситуациях. Вот, скажем, сейчас я применил RAII-подход, который вы советовали, для работы с базой данных (класс CRecordset из MFC). Этот класс действительно удобно так обернуть - экономия кучи проверок при подключении к записи базы данных. Но просто так я эти замечания не использую. Почему? Потому что за десятилетия у меня выработалась своя база приёмов и подходов и чтобы её менять нужно очень тщательно разобраться с плюсами и минусами. А следовать слепо приёмам любого автора - это настоящий фанатизм. Smiley Чего смешного на том же хабре в этих замечаниях? То, что если разбирается код того же Кармака, то находятся 1001 объяснение того, почему он сделал именно так, причём, от тех же людей, что только что ругали то же самое у других.  При этом на каждого критикующего автора найдётся такой же с противоположным мнением. Вот именно поэтому слепо следовать советам тоже не дело. А вот собирать их - отличная идея. Smiley

Цитировать
О! Эта великая экономия на спичках! Вот они преимущества макросов ))

Так в разных ситуациях по-разному. Есть циклы, которые крайне критичны, и стоит их чуть изменить, как быстродействие упадёт колоссально (или вырастет Smiley ). И да, я часто работаю с довольно низкоскоростными устройствами и часто вижу, что быстродействия катастрофически не хватает.
« Последнее редактирование: Июля 10, 2017, 02:48:16 pm от da-nie » Записан

И день и ночь в пути
Страниц: 1 2 3 [4]
  Печать  
 
Перейти в: