Я обычно избегаю продолжите: Словарь синонимов sinonim.org

Проценты за рекомендации / Хабр

Читаю очередную главу из «Книги нормального фрилансера». В ней я рассказываю о своём опыте оплаты и получения процентов за рекомендации. Для меня это очень тонкая тема, поэтому пишу про неё мало и избегаю в своей работе.

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

Не рекомендуй партнёров, это вредно и опасно:
Уведут твоих клиентов и не отблагодарят.
Ну а если накосячат, то заказчики, конечно,
Вспомнив, кто рекомендатель, обвинят во всём тебя!

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

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

Контакты я получил, пообщался с новым заказчиком, продал свои услуги и взялся за работу. В течение года я выполнил для него два проекта и заплатил с них процент человеку, который предоставил контакт.

Послевкусие было неприятным. Во-первых, мне не нравилось, что я плачу процент от сделок за такое простое действие, как «поделиться контактом». Во-вторых, я столкнулся с тем, что не обсудил заранее: это будет процент от суммы до или после уплаты налогов. В-третьих, процент я выплатил «по-чёрному», мы не оформляли договорённость на бумаге. А я уже привык работать с заказчиками и подрядчиками официально.

После того случая я делился процентом лишь однажды. Мой друг «подогнал» мне заказчика (фактически передал в работу клиента, готового к сделке). Я выполнил работу и поделился с товарищем частью заработанного. Отличие от первого случая заключалось в том, что он меня об этом не просил. Я просто таким образом благодарил за «подгон».

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

Ещё был период в моей работе, когда несколько начинающих специалистов стали работать под моим брендом. Я не нанимал их официально, и это была моя первая попытка попробовать выполнять проекты чужими руками. Условия были простыми: обеспечиваю их заказами, помогаю справляться с работой, обучаю премудростям профессии и плачу половину от сумм сделок.

Меня хватило ровно на год. За это время я нашёл троих специалистов в команду и сумел привлечь достаточно заказов для всех нас. При этом я не прекращал работать с собственными клиентами. У нас у всех были хорошие отношения и неплохая атмосфера. Работали удалённо из разных регионов. Но, посчитав свои затраты по результатам года, я понял, что трачу больше времени и сил, чтобы получить столько же денег, как когда работал в одиночку. Я устал, разочаровался и опустил руки. Команда почувствовала это и потихоньку сама расформировалась. А я сделал вывод, что работать в одиночку выгоднее, чем с командой. Скорее всего, вывод этот был преждевременным.

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

Было несколько случаев, когда я брал небольшие комиссионные (до пяти процентов) за проведение сделки через своё ИП, помогая друзьям, у которых клиенты не готовы были заключать договор с физическим лицом. Этот опыт мне тоже не понравился, так как приходилось формально нести ответственность перед незнакомыми людьми за работу, которую я не контролировал, и я перестал соглашаться на такие авантюры.

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

Рекомендуя клиентов друзьям и коллегам, я заметил, что мне неприятно, когда после рекомендации они не рассказывают, чем завершилось их общение с потенциальными заказчиками. Обычно в таких случаях я звоню самим заказчикам и спрашиваю, как всё прошло, а затем стараюсь реже рекомендовать таких «молчунов». И, с другой стороны, мне приятно, когда я через какое-то время получаю рассказ из первых уст и благодарность за «подгон». Сам я всегда сообщаю людям, которые меня порекомендовали, как всё прошло. Эта информация важна для того, чтобы понять, закрыта ли потребность человека, который обратился за рекомендацией, или же нужно продолжать помогать ему в поисках.

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


Прочесть «Книгу нормального фрилансера» можно бесплатно на сайте. Присоединяйтесь и к Телеграму, я там тоже много всякого полезного пишу.

Как улучшить навыки рисования иллюстраций, практические советы

Проверенный метод

Любознательность – одна из самых важных ценностей в моей жизни. Желание изучать неизведанное, мир, новые вещи. А поскольку для меня очень важно учиться у других, я хочу поделиться с вами полученными знаниями. Надеюсь, эта статья будет для вас полезной!

Итак, приступим!

Распорядок дня

Мне нравятся мои утренние дела. Они помогают мне правильно начать свой день.

Обычно я встаю в 5:30, пью воду, завариваю чай / крепкий кофе и открываю ноутбук. Я избегаю мессенджеров и социальных сетей. В течение последних нескольких месяцев я сосредоточилась на изучении испанского, поэтому я начинаю день с 15 минутных занятий в Duolingo, чтобы продолжить практику, а позже перехожу к написанию текстов. Но копирайтинг для меня – новое ежедневное занятие. Раньше я рисовала каждый день, и в следующем параграфе я расскажу вам подробнее, как сохранить эту привычку.

Когда вы ставите перед собой цель, то распорядок дня – это идеальный способ следовать ей.

Когда я начинаю день продуктивно, а также когда это соответствует моим целям – я чувствую, что чего-то достигла даже до того, как приступлю к повседневной работе. Мне нравится это чувство!

Рисование по утрам

Когда я работала графическим художником в игровой компании, я сосредоточилась на навыках рисования. Я обнаружила, что, когда я отвечала за множество этапов производства, таких как концепции, фоны, персонажи и анимации, я недостаточно фокусировалась на своей главной цели – лучше рисовать из головы. Поэтому я решила добавить это в свой распорядок дня по утрам. Каждый день после пробуждения я пила воду с лимоном, застилала постель, медитировала 10 минут и рисовала 15 минут. Каждый день. Через месяц у меня было так много набросков, что я начала собирать их в коробки. Также – это демонстрировало мой прогресс, и я решила поделиться этой идеей.

Рисование в группе

Идея рисования в группе не была новой. Я организовывала это, когда была студенткой, но я не думала, что это станет возможным на работе. Сюрприз!

Мы начинали рисовать в небольшой группе. Каждый день в 9:30 мы встречались в одной комнате с большим экраном и смотрели канал на YouTube по рисованию поз человека — https://www.youtube.com/user/onairvideo

Это был огромный шаг не только для художников компании, но и для других сотрудников, которые присоединились к нам. Это стало утренней рутиной для повышения креативности. Таким образом, мы продолжали практиковаться в течение долгого времени, и наши навыки улучшились. Кроме того, я считаю, что для некоторых из нас было полезно практиковать навыки не только в рисовании поз, но и в других темах.

Учебные материалы

Учиться с другими – это весело, когда у вас общая цель. Учиться у других – это также отличный способ улучшить навыки иллюстратора. Выберите одну тему, одного человека, который будет вашим наставником (Интернет полон великих художников! — YouTube, Patreon, Schoolism, Gumroad .

..) и не торопитесь с уроком. Смотрите, пробуйте, делайте упражнения из видео / статьи. Просто просмотр и чтение не могут дать столько, сколько практика. И когда вы закончите курс, начните новый. Но помните, обязательно закончите предыдущий! Существует так много вариантов, что трудно выбрать только один учебник, но не распыляйтесь. И я предлагаю добавить подобные занятия в ваш распорядок дня. Может быть, не утром, но выберите время для рисования и придерживайтесь плана, это действительно работает!

Сбор ссылок и идей для следующих иллюстраций

У вас есть идея, и вы начинаете искать фотографии в Интернете. Вы скролите, скролите … и вот оно, а может, и нет, может быть, еще одно фото, или, может быть, другое … О, у вас есть ссылки на источники? Отлично! Пришло время для рисования. Хм, не тут-то было. Пора спать или у вас просто недостаточно энергии для рисования. Черт.

Как избежать подобной ситуации?

Хорошим вариантом для сохранения рабочего процесса является предварительный сбор изображений. Вы фотографируете? Отлично. Так что начните собирать эти фотографии и картинки в каталогах. Может быть, вам нравится использовать Pinterest – начните с досок и картинок, которые вам нравятся, или вы можете представить их в своих будущих иллюстрациях. Используйте их как источники, а также, как идею для своих работ.

Также, когда у вас появится идея для иллюстрации, запишите ее! Я люблю собирать свои заметки в Notion, и, когда у меня есть время, я проверяю, какую идею хочу развить. Это отличный способ сохранить продуктивность и сосредоточиться на создании иллюстраций!

Создание визуальной библиотеки

Когда вы собираете ссылки – вы создаете визуальную библиотеку. Но это не единственный способ ее расширить. Для меня путешествие – одна из самых важных вещей в мире. Я фотографирую, расширяю свои знания, изучаю новые культуры и наблюдаю за тем, как все выглядит в реальной жизни. Нет ничего плохого в том, чтобы чувствовать себя ребенком, который познает мир. Но даже если вы не можете путешествовать далеко, вы можете взять фотоаппарат или даже телефон и отправиться куда-нибудь в своем городе – открыть для себя его окрестности.

Или, если погода ужасная – откройте карты Google и отправляйтесь туда. Вы когда-нибудь слышали о Virtual Plein Air (рисование по Google Street View)? Нет? Тогда это может быть хорошее упражнение!

Истории

Помните, что сторителлинг – важная составляющая создания иллюстраций, даже продукта. Помню это чувство, когда мой учитель раскрыл мне глаза, показав насколько это важно! (Ссылка на его TED)

Приятно собирать истории. Вы можете просто отметить идеи в своем альбоме для рисования, можете написать истории (копирайтинг расширяет эту часть творчества, очень рекомендую его) и даже опубликовать их с вашими иллюстрациями. Общайтесь с людьми (да, я писала об этом здесь), ходите на интересные встречи и слушайте интересные истории. Собирайте эти моменты, и я обещаю вам, вы больше никогда не подумаете, что у вас нет идей для нового шедевра!

Фидбек

Помню то время, когда меня пугало мнение других о моих иллюстрациях. Когда я начинала свою карьеру, родители всегда говорили мне, что мои фотографии самые лучшие (я их очень люблю!), я была абсолютно уверена, что я гений.

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

Будьте конструктивны и попросите конструктивный фидбек. Только такая помощь может научить вас чему-то.

Фидбек – одна из моих самых любимых вещей в мире. Когда вы попросите его, вы можете многому научиться и сделать свои иллюстрации или даже привычки намного лучше. Если вы работаете с другими дизайнерами – обратитесь к ним за помощью. Может быть, создайте канал, группу или даже сеанс обратной связи. Когда вы работаете фрилансером или учитесь – найдите группу на Facebook, в которой вы сможете опубликовать свои иллюстрации и получать фидбек.

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

Если я найду в своих экспериментах новые и интересные решения – я обязательно поделюсь ими с вами. А пока я надеюсь, что приведенный выше совет кому-нибудь пригодится!

А какие у вас методы улучшения навыков?

Спасибо Pola Leszczynska.


Перевод статьи Katarzyna Dziaduś

методов программирования. Есть ли проблемы с использованием continue или break?

спросил

Изменено 1 год, 6 месяцев назад

Просмотрено 4к раз

Мой учитель по разработке программного обеспечения только что сказал: «Избегайте использования continue и break , всегда заставляйте его работать, не используя их». Есть ли проблема с этими инструкциями? Я бы сказал, что он не сказал что-то настолько связное, но, может быть, я чего-то не знаю об этом? 14

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

продолжают и ломают слишком буквально.

continue и break может сделать циклы более или менее читаемыми, в зависимости от того, как они используются. Настоящей проблемой являются циклы со слишком большими внутренними телами и множеством условий для их остановки или выполнения только частей. Наличие нескольких , продолжающих и , прерывающих в таком цикле, является лишь симптомом этой «болезни», но формально обход этих ключевых слов не является лекарством.

В такой ситуации можно попытаться избежать упомянутых ключевых слов, используя вместо них логические флаги и сложные блоки if/else, но это не сделает код проще. Как раз наоборот — часто она станет еще уродливее.

Так какое лекарство?

  • Рефакторинг внутренних частей больших циклов в более мелкие функции. Эти функции могут возвращать некоторую информацию о состоянии, которую можно использовать для управления внешним циклом вызова, и может быть совершенно нормально использовать прерывание или продолжение, управляемое возвращенным состоянием. Если функции все еще сложны, разложите их на более мелкие функции.

  • Избегайте обработки слишком большого количества элементов в одном цикле. Вместо этого организуйте свой код для обработки наборов данных, что может привести к последовательности из двух или трех простых циклов вместо одного сложного. Таким образом, может быть один цикл, который создает некоторый промежуточный массив данных, а затем второй, который берет выходные данные первого цикла, выполняет итерацию по этим данным и передает набор результатов третьему. Часто каждый из этих циклов можно поместить в функцию отдельно, возвращая набор результатов, который передается в качестве параметра в следующую функцию.

Вы будете удивлены, насколько упростится ваш код, если вы строго будете применять эти два правила.

23

Вам дали неполный и упрощенный совет. Тем не менее, это не обязательно плохо со стороны вашего преподавателя, так как почти невозможно объяснить тончайшие нюансы практики разработки программного обеспечения новичкам сразу же (без обучения в черепашьем темпе и утомления студентов до смерти).

Здесь ваш учитель пытается добиться того, чтобы вы научились правильно писать итерации, не прибегая сразу к костылям, которыми являются продолжение и разрыв . Дело не в том, что вам никогда не разрешат использовать их как разработчику, а в том, что вам запрещено использовать их прямо сейчас как студенту , специально для того, чтобы вы научились правильно писать итерации.

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

2

Хорошее программирование требует определения приоритетов ряда принципов. Два из этих принципов заключаются в том, чтобы избегать ненужного использования слов «перерыв» и, особенно, «продолжать», но эти принципы следует отложить в сторону, если они противоречат другим, более важным принципам.

Когда я впервые учился программированию в 1970-х, общей парадигмой было:

 Прочитать запись
Хотя последнее чтение было успешным
  Обработать запись
  Прочитать запись
Конец пока
 

Написание кода таким образом гарантирует, что каждая итерация цикла будет выполняться до завершения, что является желательным принципом для соблюдения, но нарушает другой принцип «Не повторяйтесь», требуя, чтобы инструкции для чтения записи были дважды включены в код. Я думаю, что полезно иметь возможность отдавать приоритет различным принципам в зависимости от обстоятельств, хотя я думаю, что сегодня для большинства целей лучшим шаблоном будет:

 Начало цикла.
  Прочитать запись
  Если чтение не удалось, то
    Выход из цикла
  Конец, если
  Обработать запись
Конец цикла
 

Таким образом, в целях академического упражнения запись цикла по старому образцу полезна, хотя в большинстве ситуаций современный подход был бы более подходящим.

3

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

Важно: Следуя совету, не заменяйте continue и break чем-то худшим. И continue, и break можно легко заменить оператором goto (если ваш инструктор не упомянул goto). Это было бы в 100 раз хуже. Часто break внутри цикла можно заменить оператором return, что, скажем, в два раза хуже. Часто продолжение или прерывание являются естественным способом выразить свое намерение, и их замена делает ваш код хуже.

Отличный совет, когда вы используете break или continue как запутанное решение вашей проблемы, когда что-то другое намного проще. Например, если бы я увидел это только в конце цикла:

 если (x == 0) продолжить;
у = х;
 

вместо простого

, если (x != 0) y = x;
 

затем избавьтесь от продолжения.

6

Еще не упомянутый момент заключается в том, что с break и, возможно, continue формальное рассуждение об/с инвариантами цикла (также на SO) становится более сложным.

2

языковой агностик — Продолжить Считается вредным?

спросил

Изменено 4 года назад

Просмотрено 3к раз

Следует ли разработчикам избегать использования continue в C# или его эквивалента в других языках, чтобы вызвать следующую итерацию цикла? Будут ли аргументы за или против пересекаться с аргументами о Гото?

  • независимо от языка
  • циклы
  • перейти к
  • продолжить
2

Я думаю, что продолжение должно быть более полезным!

Слишком часто я сталкиваюсь с кодом вроде:

 для (...)
{
   если (!cond1)
   {
      если (!cond2)
      {
          ... линии с большим отступом .. .
      }
   }
}
 

вместо

 для (...)
{
   если (условие1 || условие2)
   {
      продолжать;
   }
   ...
}
 

Используйте его, чтобы сделать код более читабельным!

6

Является ли continue более вредным, чем, скажем, break ?

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

4

Вы можете писать хороший код с продолжением или без него, и вы можете писать плохой код с продолжением или без него.

Вероятно, есть некоторое совпадение с аргументами о goto, но, насколько я понимаю, использование continue эквивалентно использованию операторов break (в циклах) или оператора return из любого места в теле метода — при правильном использовании это может упростить код (менее вероятно, что он будет содержать ошибки, его будет легче поддерживать).

Нет вредоносных ключевых слов. Есть только вредное их использование.

Goto сам по себе не вреден, равно как и continue. Их нужно использовать осторожно, вот и все.

1

Если continue вызывает проблемы с удобочитаемостью, то, скорее всего, у вас есть другие проблемы. Например, огромное количество кода внутри цикла for. Если вам нужно писать большие циклы for, я бы постарался использовать continue ближе к началу цикла for. В противном случае можно легко пропустить продолжение, скрытое глубоко в середине цикла for.

Мне нравится использовать continue в начале цикла для обработки простых условий if.

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

Это та же самая причина, по которой я бы использовал goto? Возможно. Иногда я использую их для удобочитаемости и для предотвращения вложенности кода, но обычно я использую их больше для очистки/обработки ошибок.

Я бы сказал: «это зависит».

Если у вас достаточно небольшой код цикла (где вы можете видеть весь код цикла без прокрутки), обычно можно использовать продолжение.

Однако, если тело цикла большое (например, из-за большого переключателя) и есть какой-то последующий код (скажем, под переключателем), вы можете легко внести ошибки, добавив продолжение и, таким образом, иногда пропуская этот код. Я столкнулся с этим в самом сердце интерпретатора байт-кода, где некоторый инструментальный код иногда не выполнялся из-за продолжения в некоторых case-ветках.

Это может быть несколько искусственно сконструированный случай, но я обычно стараюсь избегать продолжения и использовать if (но не слишком глубоко, как в примере кода Роба).

Я не думаю, что continue может быть столь же сложным, как goto, поскольку continue никогда не перемещает выполнение из блока кода, в котором оно находится. , например, внутри a для каждого, и если один конкретный результат вызвал проблему, это довольно полезно для захвата ожидаемой ошибки (через try-catch), ее регистрации и перехода к следующему результату через continue. Продолжить особенно полезно, imo, для автоматических служб, которые выполняют работу в нечетные часы, и одно исключение не должно влиять на другое количество записей x.

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

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

  2. Я думаю, что избегание его использования также является результатом семантического непонимания. Люди, которые никогда не видят/не пишут ключевое слово «продолжить» в своем коде, увидев код с продолжением, могут интерпретировать его как «продолжение естественного потока». Если бы вместо продолжения у нас было next , например, я думаю, что больше людей оценят эту ценную функцию курсора.

goto можно использовать как продолжение, но не наоборот.

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

Так и дальше, не так вредно.

1

Другие намекали на это… но continue и break применяются компилятором и имеют свои собственные связанные правила. Goto не имеет таких ограничений, хотя чистый эффект может быть почти таким же, как , при некоторых обстоятельствах.

Я не считаю, что continue или break вредны сами по себе, хотя я уверен, что любой из них можно использовать неправильно, так что любой здравомыслящий программист заткнется.

2

Продолжить — действительно полезная функция в большинстве языков, поскольку она позволяет пропускать блоки кода при определенных условиях.

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

Я бы сказал да. Для меня это просто нарушает «поток» плавно написанного фрагмента кода.

Другим аргументом также может быть то, что если вы будете придерживаться основных ключевых слов, поддерживаемых большинством современных языков, то поток вашей программы (если не логика или код) может быть перенесен на любой другой язык. Наличие неподдерживаемого ключевого слова (например, continue или goto) нарушит это.

Это скорее личное предпочтение, но мне никогда не приходилось его использовать, и я не рассматриваю его как вариант, когда пишу новый код. (то же, что и гото.)

Я считаю, что основным аргументом против продолжения является то, что это усложняет ДОКАЗАТЕЛЬСТВО правильности кода. Это доказательство в математическом смысле. Но, вероятно, для вас это не имеет значения, потому что ни у кого нет ресурсов, чтобы «доказать» значительно сложную компьютерную программу.

Войдите в инструменты статического анализа. Вы можете усложнить им задачу…

И переход, это звучит как кошмар по тем же причинам, но в любом случайном месте кода.

2

продолжить мне кажется неправильным.

Добавить комментарий