С ходу не могу найти, к сожалению. Цитировал по памяти. Я смутно вспоминаю, что там речь шла про собеседования, но это не The Guerrilla Guide. Если позже найду, обязательно отпишусь.
Я, честно говоря, немного запутался. Это всё ещё вредные советы или уже пошли полезные?
Во-первых, enum'ы, при прочих равных, считаются лучше, чем define'ы. Чем лучше? Чем define'ы Ну, например, тем, что их можно определять на том же уровне, где они используются. Что делает код намного удобочитаемее. (Читаешь неймспейс — сразу видишь все классы и относящиеся к ним enum'ы).
Во-вторых, bool, вообще-то, действительно часто советуют заменять на enum'ы. Чтобы понять, почему, предлагается взглянуть на следующий псевдокод:
Если развить эту мысль до конца, некоторые вообще считают, что неименованный bool общего назначения в параметрах нужен весьма редко, например, для интеропа и всяких расширений, а в остальных случаях не надо лениться расшифровывать оба состояния по имени.
Всюду используйте вложенные макросы. Так текст программы станет короче, и вы сохраните больше места на жестком диске. Заодно это развлечёт ваших коллег при отладке.
Например, так:
::SetWindowText(hWnd, _T("Text"));
Вложенный макрос.
Если в строковом литерале вам нужен символ табуляции, смело жмите кнопку tab. Оставьте \t для яйцеголовых. Не парься.
Я бы вообще два раза подумал, прежде, чем хардкодить табуляцию в литерале. Хотя бы потому, что слеш легко перепутать с бэкслешем. Это про «технические» литералы, ресурсные лучше выносить в ресурсы.
Кстати, всегда включаю Show visual spaces.
Используйте для переменных имена из одной — двух букв. Так в одну строчку, помещающуюся на экране, можно уместить более сложное выражение.
Например, i, j, k в циклах. Как сказал Сполски, «Когда я вижу indexOfItem в for, я понимаю, что чувак написал не слишком-то много циклов в своей жизни».
Грань в личных качествах пользователей. А наличие ТВ-тюнера — простое следствие. Некоторым ТВ-тюнер бесплатно предложи, они его не поставят. (Зачем? Что там смотреть?) А другие будут рады такому источнику контента.
А на чём сейчас пишут для этих аппаратов визуализацию, в частности упомянутую послойную? Лет 15 назад в тренде был VTK, интересно, он всё ещё используется?
Познавательно, конечно, спасибо, но если бы меня такое спросили, я бы ответил, что лучше такой код переписать. Ведь что у нас по сути? Во-первых, предикат с побочным эффектом. Во-вторых, лямбда с императивным кодом. И всё это одна сущность!
Какой провокационный комментарий. Скажу одно: я бы держался ПОДАЛЬШЕ от мест, где так воспринимают человека, решившего чему-то поучиться («студента»). Если называть вещи своими именами, это пафос и высокомерие. Я хорошо их помню по некоторым преподавателям (самым никчёмным, кстати говоря).
Не знаю, как в сегодняшних школах, но когда я учился, практически по всем предметам мы весь урок что-то писали. В университете — писали ещё больше, т.к. лектор не ждал и нужно было успевать.
Аналогично. Столько писали, что остановиться и подумать было некогда. Особенно в университете. Я думаю, теперь многие из тех выпускников крутят мышки на удалёнке и заставляют крутить других, не оставляя времени подумать.
ИМХО, так себе решение. Все же будут думать, что это сделано, чтобы косить под дорогие устройства с двумя камерами… а, кстати, для чего это на самом деле сделано?
Расскажите пожалуйста, каким образом, страх вашего пра-пра-пра-деда мог передаться вам? Страхи записываются в ДНК? Не поделитесь описанием механизма?
С описанием механизма пока всё сложно. В наши дни мы не знаем даже, что такое квалиа — весь пар пока уходит в свисток распознавания котиков. Более того, лет двадцать назад многими считалось и пропагандировалось, что эта задача нерешаема, как квадратура круга. Как же кто-то при этом может сказать, как генетически кодируются эти квалиа?
Есть такой известный пример: ген HBB, который отвечает в том числе за серповидоклеточную анемию. При определённой мутации он кодирует синтез гемоглобина S вместо гемоглобина A, который полимеризуется и даёт т.н. тяжи. Это приводит к тому, что эритроциты приобретают серповидную форму. Они хуже транспортируют кислород, носители задыхаются, болеют и умирают. Но — повышенная устойчивость к малярии. Поэтому в малярийных регионах мутантов полно. Примечательно, что мутация даёт максимум пользы в рецессивной форме, когда гемоглобина S не слишком много. Поэтому в популяции, где гуляет этот ген (вот карта:
) в среднем из четырёх детей один (без мутаций) умрёт от малярии, один (с доминантной формой) умрёт от анемии, а два (с рецессивной) выживут и дадут потомство. Мать-природа — сука. (А Билл Гейтс, напротив — молодец!)
Сколько времени понадобилось, чтобы это выяснить? Много. А ведь это сравнительно простая причинно-следственная связь. Ген-белок-эритроциты-плазмодии. Что уж говорить о кодировании страхов! Приходите лет через тридцать.
P.S. Но то, что «Истоки арахнофобии скорее всего не ранних этапах появления человека, а куда глубже и дальше» кажется мне неверным неточным. Неодарвинизм — актуальная версия теории эволюции, предложенная Докинзом — говорит, что ген должен вносить значимый причинно-следственный вклад в собственную репликацию. Иначе он вымывается из генома. Это значит, что хищники нас должны были кушать (а пауки — кусать) совсем недавно (по эволюционным меркам). Мало ли какие признаки у нас были на ранних этапах — мы все бесполезные неминуемо должны были растерять. Я к тому, что появиться страх мог, конечно, давно, но это не слишком важно, важно то, что он, вероятно, подкреплялся до недавнего времени. («Вероятно» — это оценка того, мог ли ген продолжать копироваться по случайности после того, как утратил полезность).
TRANSMIT, ABORT и INITIATE наводят на мысль о кастомном дизайне. А хоть бы и универсальный, я б не поленился убрать. Всё ж таки, не для игры в «Тетрис» делалось…
— Элементарно, Ватсон: по капле крови.
— Холмс, неужели вам удалось всё это узнать по капле крови?
— Да. А ещё преступник обронил историю болезни, которая подтвердила все мои подозрения.
— Холмс, как вам удалось привлечь инвестиций на миллиард долларов?
— Элементарно, Ватсон: цветные контактные линзы.
Во-первых, enum'ы, при прочих равных, считаются лучше, чем define'ы. Чем лучше?
Чем define'ыНу, например, тем, что их можно определять на том же уровне, где они используются. Что делает код намного удобочитаемее. (Читаешь неймспейс — сразу видишь все классы и относящиеся к ним enum'ы).Во-вторых, bool, вообще-то, действительно часто советуют заменять на enum'ы. Чтобы понять, почему, предлагается взглянуть на следующий псевдокод:
…и сравнить с таким вариантом:
Если развить эту мысль до конца, некоторые вообще считают, что неименованный bool общего назначения в параметрах нужен весьма редко, например, для интеропа и всяких расширений, а в остальных случаях не надо лениться расшифровывать оба состояния по имени.
Например, так:
Вложенный макрос.
Я бы вообще два раза подумал, прежде, чем хардкодить табуляцию в литерале. Хотя бы потому, что слеш легко перепутать с бэкслешем. Это про «технические» литералы, ресурсные лучше выносить в ресурсы.
Кстати, всегда включаю Show visual spaces.
Например, i, j, k в циклах. Как сказал Сполски, «Когда я вижу indexOfItem в for, я понимаю, что чувак написал не слишком-то много циклов в своей жизни».
Грань в личных качествах пользователей. А наличие ТВ-тюнера — простое следствие. Некоторым ТВ-тюнер бесплатно предложи, они его не поставят. (Зачем? Что там смотреть?) А другие будут рады такому источнику контента.
А на чём сейчас пишут для этих аппаратов визуализацию, в частности упомянутую послойную? Лет 15 назад в тренде был VTK, интересно, он всё ещё используется?
Аналогично. Столько писали, что остановиться и подумать было некогда. Особенно в университете. Я думаю, теперь многие из тех выпускников крутят мышки на удалёнке и заставляют крутить других, не оставляя времени подумать.
Я один раз дерзко попробовал! Думая, что если что-то пойдёт не так, дойду до компа и исправлю (типа же, есть грейс-период 20 минут).
Имейте в виду: обо всём позаботились, ничего не получится.
ИМХО, так себе решение. Все же будут думать, что это сделано, чтобы косить под дорогие устройства с двумя камерами… а, кстати, для чего это на самом деле сделано?
А в каком году появился ARM? Не могу вспомнить )
Специалистом по госзакупкам нельзя стать. Специалистом по госзакупкам нужно родиться!
Когда я в детстве насиловал Элизу, я раскрашивал клавиши на пианине и свои ногти разноцветными фломастерами.
Делюсь лайфхаком с президентами всего мира!
С описанием механизма пока всё сложно. В наши дни мы не знаем даже, что такое квалиа — весь пар пока уходит в свисток распознавания котиков. Более того, лет двадцать назад многими считалось и пропагандировалось, что эта задача нерешаема, как квадратура круга. Как же кто-то при этом может сказать, как генетически кодируются эти квалиа?
Есть такой известный пример: ген HBB, который отвечает в том числе за серповидоклеточную анемию. При определённой мутации он кодирует синтез гемоглобина S вместо гемоглобина A, который полимеризуется и даёт т.н. тяжи. Это приводит к тому, что эритроциты приобретают серповидную форму. Они хуже транспортируют кислород, носители задыхаются, болеют и умирают. Но — повышенная устойчивость к малярии. Поэтому в малярийных регионах мутантов полно. Примечательно, что мутация даёт максимум пользы в рецессивной форме, когда гемоглобина S не слишком много. Поэтому в популяции, где гуляет этот ген (вот карта:
) в среднем из четырёх детей один (без мутаций) умрёт от малярии, один (с доминантной формой) умрёт от анемии, а два (с рецессивной) выживут и дадут потомство. Мать-природа — сука. (А Билл Гейтс, напротив — молодец!)
Сколько времени понадобилось, чтобы это выяснить? Много. А ведь это сравнительно простая причинно-следственная связь. Ген-белок-эритроциты-плазмодии. Что уж говорить о кодировании страхов! Приходите лет через тридцать.
P.S. Но то, что «Истоки арахнофобии скорее всего не ранних этапах появления человека, а куда глубже и дальше» кажется мне
невернымнеточным. Неодарвинизм — актуальная версия теории эволюции, предложенная Докинзом — говорит, что ген должен вносить значимый причинно-следственный вклад в собственную репликацию. Иначе он вымывается из генома. Это значит, что хищники нас должны были кушать (а пауки — кусать) совсем недавно (по эволюционным меркам). Мало ли какие признаки у нас были на ранних этапах — мы все бесполезные неминуемо должны были растерять. Я к тому, что появиться страх мог, конечно, давно, но это не слишком важно, важно то, что он, вероятно, подкреплялся до недавнего времени. («Вероятно» — это оценка того, мог ли ген продолжать копироваться по случайности после того, как утратил полезность).