Что в имени тебе моём...
Хорошее имя – это очень важно. Держать в голове информацию о программе и так трудно, поэтому не нужно создавать лишние трудности сложными системами наименований или туманными ссылками. Учитесь давать объектам прозрачные имена – они должны ясно описывать то, что за ними скрывается.
Думайте не только об именах переменных и функций, но и об общепринятых правилах именования типов(классов), пространства имен, макросов и даже файлов исходного кода. В случае если найти единственно верный свод правил именования затруднительно, выработайте единый стиль и придерживайтесь его.
Когда я употребляю слово, – сказал Шалтай-Болтай довольно презрительно, – оно означает только то, что мне от него требуется, – не больше и не меньше.
#tips #name
Хорошее имя – это очень важно. Держать в голове информацию о программе и так трудно, поэтому не нужно создавать лишние трудности сложными системами наименований или туманными ссылками. Учитесь давать объектам прозрачные имена – они должны ясно описывать то, что за ними скрывается.
Думайте не только об именах переменных и функций, но и об общепринятых правилах именования типов(классов), пространства имен, макросов и даже файлов исходного кода. В случае если найти единственно верный свод правил именования затруднительно, выработайте единый стиль и придерживайтесь его.
Когда я употребляю слово, – сказал Шалтай-Болтай довольно презрительно, – оно означает только то, что мне от него требуется, – не больше и не меньше.
#tips #name
Руководитель поневоле
Это административная классика: разработчик, которого назначили руководить командой, потому что продвигать его по технической линии было некуда.
Он – программист и хочет программировать. По характеру он не организатор и не умеет руководить людьми, к тому же он необщителен.
Как быть, если вы один из них: Если вас не устраивает эта роль, добейтесь, чтобы вас перевели на другую работу. Не у каждого есть талант или страсть руководить. Займитесь тем делом, для которого у вас есть нужные качества и которое вам нравится.
Как работать с такими людьми: Будьте благожелательны и постарайтесь чем можно помочь руководителю команды. Вовремя докладывайте ему и старайтесь соблюдать график работ. Если чувствуете, что можете не уложиться в срок, заранее сообщите об этом руководителю, чтобы он смог принять какие-то меры.
#tips #programmer_type
Это административная классика: разработчик, которого назначили руководить командой, потому что продвигать его по технической линии было некуда.
Он – программист и хочет программировать. По характеру он не организатор и не умеет руководить людьми, к тому же он необщителен.
Как быть, если вы один из них: Если вас не устраивает эта роль, добейтесь, чтобы вас перевели на другую работу. Не у каждого есть талант или страсть руководить. Займитесь тем делом, для которого у вас есть нужные качества и которое вам нравится.
Как работать с такими людьми: Будьте благожелательны и постарайтесь чем можно помочь руководителю команды. Вовремя докладывайте ему и старайтесь соблюдать график работ. Если чувствуете, что можете не уложиться в срок, заранее сообщите об этом руководителю, чтобы он смог принять какие-то меры.
#tips #programmer_type
Идиоматика языка - это не для меня
Разработка в рамках конкретного языка предполагает следование определенному стилю кодирования, присущему используемому языку. При этом даже в рамках одного языка в одной компании будут приветствовать использование camelCase, в другой - критиковать его.
Хорошие программисты всегда учитывают идиоматику языка для достижения единообразия стиля кодирования, чтобы каждый программист, имеющий похожий стек, мог с легкостью поддерживать написанный вами код и не обливать вас грязью за вашу безответственность.
#tips #bad_programmers
Разработка в рамках конкретного языка предполагает следование определенному стилю кодирования, присущему используемому языку. При этом даже в рамках одного языка в одной компании будут приветствовать использование camelCase, в другой - критиковать его.
Хорошие программисты всегда учитывают идиоматику языка для достижения единообразия стиля кодирования, чтобы каждый программист, имеющий похожий стек, мог с легкостью поддерживать написанный вами код и не обливать вас грязью за вашу безответственность.
#tips #bad_programmers
Гуру
Это маг программирования, настоящий гений. Гуру часто бывает спокойным и скромным, даже немного странным. Он пишет прекрасный код, но плохо умеет общаться с простыми смертными.
Они знакомы со всеми современными технологиями и знают, какие из старых приемов лучше. Хороший Гуру - замечательный наставник: у него можно многому научиться.
Как быть, если вы один из них: не рассчитывайте, что все будут столь же сообразительны и думать так же, как и вы. Требуется немалое мастерство, чтобы давать простые и понятные советы.
Как работать с такими людьми: если вам повстречался Гуру, учитесь у него, впитывайте все сведения, и не только технические. Ведь чтобы зарекомендовать себя как Гуру, нужны знания, а не высокомерие.
#tips #programmer_type
Это маг программирования, настоящий гений. Гуру часто бывает спокойным и скромным, даже немного странным. Он пишет прекрасный код, но плохо умеет общаться с простыми смертными.
Они знакомы со всеми современными технологиями и знают, какие из старых приемов лучше. Хороший Гуру - замечательный наставник: у него можно многому научиться.
Как быть, если вы один из них: не рассчитывайте, что все будут столь же сообразительны и думать так же, как и вы. Требуется немалое мастерство, чтобы давать простые и понятные советы.
Как работать с такими людьми: если вам повстречался Гуру, учитесь у него, впитывайте все сведения, и не только технические. Ведь чтобы зарекомендовать себя как Гуру, нужны знания, а не высокомерие.
#tips #programmer_type
Грамотное программирование
Многие слышат о самодокументируемом коде, но зачастую его ценности не уделяется достаточного внимания, однако это очень грубая ошибка, когда разработчик пренебрегает документированием кода, плохо продумывает имена типов, функций, не выделяет важные фрагменты кода и не пишет осмысленные комментарии.
В будущем это создаст проблемы в сопровождении не только ему, но и его команде, ведь самые важные фрагменты программы могут упускаться из виду, что приводит к большим трудностям при исправлении ошибок и добавлении функционала. Думайте наперед, выполняйте свою работу разработчика профессионально и вы обретете одобрение и уважение коллег.
#tips #good_programmers
Многие слышат о самодокументируемом коде, но зачастую его ценности не уделяется достаточного внимания, однако это очень грубая ошибка, когда разработчик пренебрегает документированием кода, плохо продумывает имена типов, функций, не выделяет важные фрагменты кода и не пишет осмысленные комментарии.
В будущем это создаст проблемы в сопровождении не только ему, но и его команде, ведь самые важные фрагменты программы могут упускаться из виду, что приводит к большим трудностям при исправлении ошибок и добавлении функционала. Думайте наперед, выполняйте свою работу разработчика профессионально и вы обретете одобрение и уважение коллег.
#tips #good_programmers
Ковбой
Ковбой - рисковый программист, который вряд ли утруждает себя долгими размышлениями о структуре кода, взаимодействии компонентов, качестве и чистоте. Для него важно - сделать всё быстро и так, чтобы работало, при этом от качества страдают его коллеги, которые вынуждены за ним подчищать. Он охотно узнаёт о новых технологиях, но не намерен их тестировать, ведь это займёт кучу времени и сил.
Как быть, если вы один из них: помните, вы способны на многое, но ваша проблема - ваша лень. Нет ничего лучше, чем чувствовать одобрение коллег и быть уверенным в том, что код, который вы пишете, станет эталоном для остальных разработчиков
Как работать с такими людьми: старайтесь избегать взаимодействия с кодом ковбоев, ведь вы замучаетесь исправлять его косяки, лучше найдите ковбою напарника, который смог бы его мотивировать на качественное выполнение задания.
#tips #programmer_type
Ковбой - рисковый программист, который вряд ли утруждает себя долгими размышлениями о структуре кода, взаимодействии компонентов, качестве и чистоте. Для него важно - сделать всё быстро и так, чтобы работало, при этом от качества страдают его коллеги, которые вынуждены за ним подчищать. Он охотно узнаёт о новых технологиях, но не намерен их тестировать, ведь это займёт кучу времени и сил.
Как быть, если вы один из них: помните, вы способны на многое, но ваша проблема - ваша лень. Нет ничего лучше, чем чувствовать одобрение коллег и быть уверенным в том, что код, который вы пишете, станет эталоном для остальных разработчиков
Как работать с такими людьми: старайтесь избегать взаимодействия с кодом ковбоев, ведь вы замучаетесь исправлять его косяки, лучше найдите ковбою напарника, который смог бы его мотивировать на качественное выполнение задания.
#tips #programmer_type
От чего страдает оптимальность кода
Чтобы улучшить свой код, нужно знать, отчего он может работать медленно, неоправданно расти в размере или иным образом терять качество.
Основные проблемы, которые могут приводить к снижению оптимальности:
❶ Сложность: чем больше работы должен сделать код, тем медленнее он будет выполняться
❷ Повторение: сохраняйте результаты сложных вычислений в буфере, т.к. при каждом повторно выполненном вычислении вы теряете эффективность
❸ Плохой проект: плохое проектирование приводит к плохому коду. Связанные блоки размещайте как можно ближе
❹ Ввод/вывод: старайтесь избегать блокирования выполнения программы в ожидании ввода или вывода данных.
Это далеко не весь список проблем, но он даст представление о том, на что нужно будет обратить внимание в первую очередь, ведь настоящие недоработки кроются в деталях.
#tips #optimisation
Чтобы улучшить свой код, нужно знать, отчего он может работать медленно, неоправданно расти в размере или иным образом терять качество.
Основные проблемы, которые могут приводить к снижению оптимальности:
❶ Сложность: чем больше работы должен сделать код, тем медленнее он будет выполняться
❷ Повторение: сохраняйте результаты сложных вычислений в буфере, т.к. при каждом повторно выполненном вычислении вы теряете эффективность
❸ Плохой проект: плохое проектирование приводит к плохому коду. Связанные блоки размещайте как можно ближе
❹ Ввод/вывод: старайтесь избегать блокирования выполнения программы в ожидании ввода или вывода данных.
Это далеко не весь список проблем, но он даст представление о том, на что нужно будет обратить внимание в первую очередь, ведь настоящие недоработки кроются в деталях.
#tips #optimisation
Жажда скорости
Высокая эффективность кода не столь важна, как некоторым кажется. Да, действительно, часто приходится исправлять явные дыры в производительности, но в целом нужно активно избегать проведения оптимизации.
Намного полезнее на этапе формулирования требований к ПО определить уровень производительности и на каждом этапе разработки проверять, удовлетворяет ли продукт заданным параметрам.
В погоне за скоростью мы теряем легкость чтения кода, сложность сопровождения и расширения также растет, поэтому к вопросам оптимизации нужно всегда подходить аккуратно и со знанием дела.
#tips #bad_programmers
Высокая эффективность кода не столь важна, как некоторым кажется. Да, действительно, часто приходится исправлять явные дыры в производительности, но в целом нужно активно избегать проведения оптимизации.
Намного полезнее на этапе формулирования требований к ПО определить уровень производительности и на каждом этапе разработки проверять, удовлетворяет ли продукт заданным параметрам.
В погоне за скоростью мы теряем легкость чтения кода, сложность сопровождения и расширения также растет, поэтому к вопросам оптимизации нужно всегда подходить аккуратно и со знанием дела.
#tips #bad_programmers
Отладчик
В каждой IDE встроен свой отладчик, умение им пользоваться сэкономит вам массу времени, которое вы потратили бы впустую на выяснение причин неверного поведения программы.
С помощью отладчика вы сможете проследить ветви выполнения программы, вмешаться в выполнение, получить текущие значения переменных, это на порядок эффективнее использования операторов printf. Используйте отладчик, чтобы быть уверенными в том, что ваш код работает правильно.
#tips #debugger
В каждой IDE встроен свой отладчик, умение им пользоваться сэкономит вам массу времени, которое вы потратили бы впустую на выяснение причин неверного поведения программы.
С помощью отладчика вы сможете проследить ветви выполнения программы, вмешаться в выполнение, получить текущие значения переменных, это на порядок эффективнее использования операторов printf. Используйте отладчик, чтобы быть уверенными в том, что ваш код работает правильно.
#tips #debugger
Важность программной архитектуры
Программная архитектура имеет далеко идущие последствия, она накладывает отпечаток на технологию, от архитектуры зависит, как будет развиваться код и как команды разработчиков станут совместно расширять его. Трехуровневая архитектурная модель приведет к формированию трех команд разработчиков, каждая из которых будет работать над своей частью задачи.
Плохая архитектура не просто создает неудобства – она может подорвать ваше материальное благополучие. Дело нешуточное. От архитектуры зависит то, насколько интересно будет работать с проектом, поэтому обязательно продумывайте то, что должна архитектура поддерживать и как компоненты приложения будут взаимодействовать.
#tips #architecture
Программная архитектура имеет далеко идущие последствия, она накладывает отпечаток на технологию, от архитектуры зависит, как будет развиваться код и как команды разработчиков станут совместно расширять его. Трехуровневая архитектурная модель приведет к формированию трех команд разработчиков, каждая из которых будет работать над своей частью задачи.
Плохая архитектура не просто создает неудобства – она может подорвать ваше материальное благополучие. Дело нешуточное. От архитектуры зависит то, насколько интересно будет работать с проектом, поэтому обязательно продумывайте то, что должна архитектура поддерживать и как компоненты приложения будут взаимодействовать.
#tips #architecture