ну да, это так. проблема малого и среднего бизнеса — им нужно заниматься мелкими и неинтересными задачами на что более-менее грамотный специалист не согласен. и вот мы превращаемся в кузницу кадров и, как следствие, продукт наш — говно. а у тех программистов, которые не стремятся быть менеджерами цель какая? правильно, обыно корпорации, которые редкдо детскими болезнями болеют.
но хз, может это только я так вижу ситуацию.
а вам не кажется, что это один из вопросов для проверки человека на его стандартность/нестандартность подходов и опеределения его целей? если вы говорите «я хочу работать у вас потому что вы платите больше/ просто платите», то становится понятно, такой человек потенциально не задержится надолго в компании и принесет больше убытка. Вместо человека, который совершенно искренне скажет «я хочу у вас работать потому что вы решаете интересные задачи и только так я смогу стать отличным специалистом, а деньги — второй вопрос». С чем я действительно согласен, так это с тем, что задают такие вопросы компании, которые, как правило, ничего не могут предложить соискателю, но и продукт они, обычно, выпускают соответствующий.
ну в том-то и дело, что вы можете эти функции сами написать как надо. при этом в заведомо однопоточной среде не надо будет заморачиваться с синхронизацией. Но в целом согласен, да, незачем при move дергать счетчик. Ну что ж, стандарт новый, реализация еще не обкатанная)
а можно немного понудить?
<нужу>
а что если шаблонным параметром будет не int и не float и даже не double, а какой-нибудь class XAxisCoord? я бы не объявлял PointEx(const Point&);, а сделал бы что-то вроде PointEx makeFromPoint(const Point &); не членом класса.
</нужу>
Сорри, просто давно ничего не проектировал, не писал - соскучился по этому делу.
httperf. строит запросы на основе лога веб-сервера (nginx или apache, к сожалению, сейчас не вспомню). наступали на эти грабли, были довольны результатами ab пока не запустили маркетинг на проекте.
ab не дает адекватных результатов, т.к. посылает одни и те же запросы, что быстро работает засчет кэширования. в таком случае и на VB можно написать сервер, который не дольше отработает эту серию.
вобщем-то согласен с вами, только вот добавлю:
> > С членами классов работать через set/get методы.
> И что в этом такого, во многих языках нет свойств. А если уж хочется, то реализуются они не очень сложно, сам юзал, но вернулся на к set/get методам
а в других ОО языках разве не надо использовать сеттеры-геттеры? утомляет писать руками — есть библиотеки. ах да, тут ведь еще макросы отлично подходят, но это рассово неверный подход. вобще их даже гуглы не стесняются пользовать (взгляните в pcrecpp.h)
> > Так, члены должны объявляться с префиксом 'm_', чтобы не было.
> Вас кто-то заставляет с плеткой это делать? Это не стандарт, язык этого не требует, я лично префиксы не использую, для подсказок есть IntelliSence, да и VisualAssist.
ну а я, например, после переменной оставляю подчеркивание. всегол лишь рекомендация.
> > Никаких goto. Лучше do { break; } while(0); От этого суть глобально меняется.
> Я бы поспорил, goto нифига визуально не хороша, а break/continue проще отследить визуально. Я сам против goto, сколько программирую, всегда обходился без него.
в одном из недавних топиков в комментах обсуждали случаи, где это уместно (http://habrahabr.ru/blogs/code_review/125120/).
>> Не должно быть больше 4 вложенных конструкций.
это рекомендация кросс-языковая, с++ тут ни при чем.
> reinterpret_cast, static_cast, const_cast. Почему нет private_to_public_in_case_exception_cast?
быть может потому что он не нужен? все касты, имхо, архитектурно обоснованы — делают проверку типов в необходимой манере. const_cast — то, что все так ругают, сделан больше для того, чтобы дать выход программистам, если архитектурно не сложилось у них…
Резюмируя, могу сказать, что автор просто поддался модному тренду — поливать грязью язык.
> Например, хочешь использовать списки? Будь добр, пойми, что такое шаблоны, область видимости
я бы сказал: «если хочешь программировать, то пойми ...»
но хз, может это только я так вижу ситуацию.
<нужу>
а что если шаблонным параметром будет не
intи неfloatи даже неdouble, а какой-нибудьclass XAxisCoord? я бы не объявлялPointEx(const Point&);, а сделал бы что-то вродеPointEx makeFromPoint(const Point &); не членом класса.</нужу>
Сорри, просто давно ничего не проектировал, не писал - соскучился по этому делу.
boost::asio
> > С членами классов работать через set/get методы.
> И что в этом такого, во многих языках нет свойств. А если уж хочется, то реализуются они не очень сложно, сам юзал, но вернулся на к set/get методам
а в других ОО языках разве не надо использовать сеттеры-геттеры? утомляет писать руками — есть библиотеки. ах да, тут ведь еще макросы отлично подходят, но это рассово неверный подход. вобще их даже гуглы не стесняются пользовать (взгляните в pcrecpp.h)
> > Так, члены должны объявляться с префиксом 'm_', чтобы не было.
> Вас кто-то заставляет с плеткой это делать? Это не стандарт, язык этого не требует, я лично префиксы не использую, для подсказок есть IntelliSence, да и VisualAssist.
ну а я, например, после переменной оставляю подчеркивание. всегол лишь рекомендация.
> > Никаких goto. Лучше do { break; } while(0); От этого суть глобально меняется.
> Я бы поспорил, goto нифига визуально не хороша, а break/continue проще отследить визуально. Я сам против goto, сколько программирую, всегда обходился без него.
в одном из недавних топиков в комментах обсуждали случаи, где это уместно (http://habrahabr.ru/blogs/code_review/125120/).
>> Не должно быть больше 4 вложенных конструкций.
это рекомендация кросс-языковая, с++ тут ни при чем.
> reinterpret_cast, static_cast, const_cast. Почему нет private_to_public_in_case_exception_cast?
быть может потому что он не нужен? все касты, имхо, архитектурно обоснованы — делают проверку типов в необходимой манере. const_cast — то, что все так ругают, сделан больше для того, чтобы дать выход программистам, если архитектурно не сложилось у них…
Резюмируя, могу сказать, что автор просто поддался модному тренду — поливать грязью язык.
я бы сказал: «если хочешь программировать, то пойми ...»