Рубрика «советы и рекомендации» - 2

Дизайн классов: что такое хорошо? - 1

Автор: Денис Цыплаков, Solution Architect, DataArt

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

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

Оговорюсь, на самом деле, мы сосредоточимся на классах исключительно для простоты. Почти то же самое можно сказать о функциях или любых других строительных блоках приложения.Читать полностью »

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

image

Читать полностью »

Немного об авторе:
Adam Pedley (Microsoft MVP, Xamarin MVP, Xamarin Certified Developer)

Корпоративные или Business to Employee (B2E) мобильные приложения могут сильно отличаться от их B2C-аналогов. B2C приложения, как правило, сосредоточены на небольшом количестве экранов для основного использования, а дополнительные экраны используются не так часто, там, где необходимо выполнять вспомогательные функции.

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

Читать полностью »

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

image

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

3 месяца назад я вышла из декретного отпуска и, вновь приступив к работе бизнес-аналитика, прочувствовала на себе одну прописную истину. Было бы легче возвращаться к работе, заранее продумав, как сохранить себя «в профессиональной форме» за время декрета. IT-сфера настолько изменчива, что порой не успеваешь за новыми методологиями и технологиями, даже постоянно находясь внутри процесса, а уж выпадение из него — как минимум, на год — и вовсе может сыграть злую шутку.

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

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

Декретный отпуск в IT, или как не потерять себя в профессии - 1
Читать полностью »

Советы и рекомендации по работе с Unity3D - 1

Я опубликовал первую статью «50 советов по работе с Unity» 4 года назад. Несмотря на то, что бóльшая её часть всё ещё актуальна, многое изменилось по следующим причинам:

  • Unity стал лучше. Например, теперь я могу доверять счётчику FPS. Возможность использования Property Drawers снизила необходимость написания пользовательских редакторов (Custom Editors). Способ работы с префабами стал меньше требовать заданных встроенных префабов (nested prefabs) и их альтернатив. Скриптуемые объекты стали более дружелюбными.
  • Улучшилась интеграция с Visual Studio, отладка стала намного проще и уменьшилась потребность в «обезьяньем» дебаггинге.
  • Стали лучше сторонние инструменты и библиотеки. В Asset Store появилось очень много ассетов, упрощающих такие аспекты, как визуальная отладка и логирование. Большая часть кода нашего собственного (бесплатного) плагина Extensions описана в моей первой статье (и многое из него описано здесь).
  • Усовершенствован контроль версий. (Но, может быть, я просто научился использовать его более эффективно). Например, теперь не нужно создавать множественные или резервные копии для префабов.
  • Я стал более опытным. За последние 4 года я поработал над многими проектами в Unity, в том числе над кучей прототипов игр, завершёнными играми, такими как Father.IO, и над нашим основным ассетом Unity Grids.

Эта статья является версией первоначальной статьи, переработанной с учётом всего вышеперечисленного.
Читать полностью »

image

Сегодня предпринимателю Джеку Ма 51 год, его богатство оценивается в 23,3 млрд долларов, не считая 150 млрд IPO – самых крупных в истории. Впрочем, начинал он с работы учителем английского языка за 12 долларов в месяц (хотя он был доволен жизнью и в тот период).

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

Вот 7 моментов, когда Джек Ма, столкнувшись с унизительными провалами, ухитрился сохранить свой оптимизм. В точности, как и его любимый персонаж Форрест Гамп. Читать полностью »

«Вот подрастет, и будем с ним Arduino да Mindstorms собирать», — наверное, мечтают многие. Проблема в том, что условный iPad ребенок освоит быстрее.

От аналога к цифре: несколько интересных конструкторов и как применить их в воспитании - 1

Мы собрали несколько рецептов, как в раннем возрасте отвлечь дитё от экрана (а затем вернуть за монитор, но уже осознанно) и привить интерес к конструированию, чтобы развивать правильные навыки. Для удобства, постарались выделить возрастные категории. А где могли, нашли аналоги: ведь на вкус и цвет все конструкторы разные.

Читать полностью »

  1. Говорите спасибо за работу, оплату и критику. Хвалите. К такому подходу быстро привыкаешь, работая с людьми из Европы и Штатов, и это здорово мотивирует. Прежде всего постарайтесь найти и подметить что-то положительное в работе, которую вам показали, а потом уже переходить к критике.
  2. Заключайте договор, пусть даже без подписей, просто в письме и человеческим языком. Что должно быть сделано, как это будет работать, к какому сроку, что будет, если кому-то не понравится (обе стороны должны иметь возможность легко отказаться от проекта). Бейте работу на этапы и объясните, что вы работаете по предоплате 100% за каждый этап.
  3. Читать полностью »

image

У вас есть стремление. Вы какое-то время его реализуете. Вам даже кажется, что вы постоянно чего-то добиваетесь. И вы делитесь своими достижениями с друзьями и родными, но их реакция вас шокирует. «Почему ты этим занимаешься?» — спрашивают они, выражая недоверие. И вы начинаете сомневаться в своем выборе. «Не думаю, что ты справишься!» — восклицают они. И тем самым разрушают вашу уверенность в себе. «Что ты будешь делать потом?» — интересуются они. По их мнению, вы зря тратите время. Вы не понимаете. Они считаются вашими самыми близкими людьми. Не должно ли их интересовать, счастливы ли вы? Или они не хотят видеть, что ваша жизнь стала лучше, а мечты превратились в реальность?Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js