• Чем Классы отличаются от обычных функций? C++?

    trinitr0
    @trinitr0
    провинциальный админ
    Не "скорее", а класс типом данных и является по-сути.
    Зачем это нужно? Вот зачем - продолжая пример с классом комплексных чисел, то в этом классе можно ввести свои методы (читай функциями). А вот затем мы сможем работать с комплексными числами как с отдельным типом со своими функциями (или перегрузить уже имеющиеся и работать с помощью привычных функций).
    Ответ написан
    Комментировать
  • Как держать в голове проект по программированию над которым работаешь не каждый день?

    @asd111
    Желательно использовать ООП.
    При использовании ООП можно сначала нарисовать схемы - так называемые диаграммы UML — в них обычно написано что какой класс делает и нарисовано как он связан с другими.

    Сначала рисуете диаграммки что с чем как связано и потом пишете код.

    Выглядит примерно так:
    p3_9.gif
    pvti.ru/data/image/pages/webkurs/p3_9.gif

    На данных диаграммах в первой строчке - название класса, во втором блоке - названия переменных, в третьем блоке - названия методов(функций). Стрелочки показывают как классы взаимодейтсвуют между собой, кто от кого наследуется и кто какие методы вызывает и т.д.

    В целом для получения общей картины очень удобно использовать диаграммы, чтобы не забыть что где как устроено если программа большая. Во многих IDE есть возможность получить полное дерево классов.
    Ответ написан
    1 комментарий
  • Как держать в голове проект по программированию над которым работаешь не каждый день?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    То же самое что и zoom на карте:
    1. делаете общую схему с функциональными блоками и их связями. блоки - нумеруются.
    2. каждый блок - детализируете в новой схеме.
    * тут делаете текстовые описание связей и все, что относится к схеме/к процессу в отдельном docx/xlsx-документе. (google docs)
    * на основе этого - не составит труда описать функции для кодинга, если позволяет уровень детализации данной схемы.
    3. goto 2.

    (разумно использовать draw.io и подключить к google docs/google disk)
    Ответ написан
    Комментировать
  • Как держать в голове проект по программированию над которым работаешь не каждый день?

    1. Писать самодокументирующийся код.
    2. Щедро добавлять стандартизированные комментарии к каждой функции и переменной.
    3. Рефакторить структуру до полной очевидности.
    4. Использовать git с подробными описаниями коммитов - с помощью аннотаций будет легко понять зачем написан тот или иной кусок
    5. Вести TODO отдельно либо используя @todo комментарии прямо в коде.
    Ответ написан
  • Как развить мышление для программирования?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Мне кажется у Вас проблема в другом. То что скажу это лишь мое мнение и оно может быть не верным, но тем не менее рекомендую подумать над моими словами.

    Ваша проблема в непонимании того, что Вы хотите достичь?

    Понимаете, есть разные цели: программировать, чтобы решать задачи и программировать, чтобы программы работали еще быстрее. Это абсолютно разные цели!

    Задайте себе как можно больше вопросов и поймите, что на самом деле Вы хотите достичь? Какую конкретно цель Вы преследуете?
    Ответ написан
    Комментировать
  • Отборочные соревнования, работа в группах — какова выигрышная стратегия?

    las68
    @las68
    Поставьте себя на место будущего работодателя: что он от вас хочет?
    И вам станет существенно легче сориентироваться в ситуации:

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

    Итак, работодателю надо:
    1. Чтобы вы максимально точно выполнили задание.

    Здесь каких-то конкретных советов давать сложно. Если условия допускают — покажите несколько вариантов. Это, скорее плюс, чем минус и свидетельствует о вашем широком кругозоре. Проверяющий должен видеть ход ваших мыслей и структуру вашего решения: «Кто ясно мыслит, тот ясно излагает». Отсутствие промежуточных выводов — скорее минус, чем плюс. Покажите последовательность ваших действий, критерии, которыми вы руководствовались при их выборе. Это важно, потому что даже если результат будет отличаться от правильного, проверяющий сделает вывод в вашу пользу — его вполне может устроить использованная вами логика и подходы, которые прямо или косвенно свидетельствуют о ваших навыках.

    Кстати, очень часто на решение тестов дают кейсы — с избыточным набором данных и несколькими вариантами ответов, либо правильного ответа вообще может не быть. Это нормально и к этому надо быть готовыми. Если конечно, вас не тестируют на знание языка программирования или тест заключается в настройке стойки роутеров, где всё как-то или более менее однозначно — либо работает, либо нет. :)

    2. Чтобы при этом показали навыки и поведение, которые ему нужны для отбора на вакантную должность / для успешного обучения.

    Это особенно важно при работе в группе. Если вы супер-профи, но конфликтны и истеричны — работу вы не получите. Компания не имеет возможности создавать вам исключительные условия труда, которые нивелируют ваши недостатки, только если вы не признанный международный специалист. Поэтому при работе в группе вы должны отстаивать своё мнение твёрдо и аргументированно, но при этом мягко и вежливо. Куратор, который за вами наблюдает должен видеть вас и ваше взаимодействие с людьми. Маячьте у него перед глазами. Человек, который хорошо выстраивает отношения в группе и умеет аккуратно склонить ее к тому или иному мнению, имеет больше шансов, чем человек, парализующий общую работу созданием конфликта или вызывающий раздражение других участников, как бы при этом правы вы не были.

    Но надо внимательно смотреть на задачу, которая ставится перед группой, может оказаться и такое, что методика отбора на должность как раз является конфликтной. Особенно если вакансия предполагает наличие стрессоустойчивости, самообладания и эмоциональной стабильности.

    И улыбайтесь, всегда улыбайтесь. Но без экзальтаций и демонического подхихикивания.

    3. Чтобы ваши личностные качества соответствовали его представлениям о том, каким должен быть человек на этой должности / месте.

    Если отбор идёт на должность, которая предполагает собой чёткое исполнение обязанностей, например бухгалтер или диспетчер АСУТП, то демонстрация своей креативности принесёт, скорее, вред, чем пользу. При этом, будет крайне желательно показать проницательность и глубокие знания по предмету. Вы должны всегда оставаться в поле требований к должности или показать результаты чуть большие, но не выдающиеся, за исключением особых случаев.

    Изучите корпоративную культуру организации, куда вы пытаетесь попасть. Вы должны понимать её принципы, и тогда ваши шансы на успех будут выше. Корпоративная культура — это очень многослойная вещь. Это этикет, обычаи ведения бизнеса, манера разговора, даже набор тем для разговоров, способ подачи себя и взаимодействие с окружающими. Начинается она с одежды. Если вам назначено тестирование в банке, не стоит приходить в шортах и шлёпанцах — скромный деловой костюм более приличествующая вещь.

    Не стоит демонстрировать свою состоятельность, за исключением тех случаев, когда вы претендуете на место члена правления Газпрома (это из области фантастики, но, всё-таки — допустим :). Настоящие Ролекс и телефон Верту оставьте дома, а Жып Лэндкруйзер — в гараже. Вы не должны выглядеть «дороже» своего будущего босса. Это негласное правило блюдут многие западные компании. Да и вообще, многие западные и российские компании не поощряют увлечение своих сотрудников «цацками и бусиками». Чтобы сориентироваться, посмотрите как одеты те люди, с которыми вы собеседовали предварительно — одевайтесь также. Девушкам настоятельно рекомендуется забыть про туфли на очень высоком каблуке, колготки в сеточку и блядский раскрас яркий макияж, если вы претендуете на должность где требуется работать головой. Одевайтесь чисто, опрятно, не бросаясь в глаза. «Встречают по одежке, провожают по уму» — точнее не скажешь, потому что, как говорил Ли Вон Ян: «велика и мудра русская народная языка».

    Не злоупотребляйте туалетной водой или духами — сильный запах, даже если это пафосный и модный аромат, может действовать на людей отталкивающе на подсознательном уровне. У вас не должно быть никаких посторонних запахов. Приведите в порядок свою внешность — если есть больные зубы — вылечите их. Сделайте протезы, чтобы в улыбке не было брешей.Сделайте аккуратную прическу — крашеный ирокез ещё сгодится для претендента на вакансию креативного директора в компанию по проектированию скейтбордов, но вряд ли вас правильно оценят, если вы будете проходить тестирование на участие в программе MBA где-нибудь в Гарварде.

    4. Язык. Если компания американская, а человек, который принимает решения — урождённый американец, то допустимо употребление американизмов в речи и письме, но увлекаться не следует — негритянские и простонародные kinda, outta, muttafaka — забудьте, даже если знаете где и как это применяется. Европейские компании, в том числе английские — только plain English, без американского произношения — чётко и правильно, как учили в школе. Не используйте оборотов из художественной литературы, если с разговорным языком у вас проблемы, даже если вы знаете где приткнуть навороченные конструкции. Неангличане вас не поймут, хотя и не подадут вида. А настоящие англичане, внутри себя, немного поиронизируют, хотя тоже не подадут вида. Говорите грамматически правильно — это совсем не сложно. Соблюдайте произношение: think и sink — это таки две большие разницы. Использование hell в деловом разговоре незнакомых между собой людей, особенно когда один из них устраивается на работу к другому, также недопустимо. Поминать чертей и ад вслух не допускает протестантская и католическая мораль, не говоря уж о более крепких словечках.

    Ну, где-то так.

    Короче, мимикрируйте под сотрудников вашего будущего места работы.
    Ответ написан
    Комментировать