Повышение качества кода?

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

Возможно, вы захотите сузить круг вопросов. На эту тему написаны тысячи книг. :)

Jason Baker 02.10.2008 04:35

Чем руководить на собственном примере? Есть какие-нибудь примеры, которые вы бы привели?

S.Lott 02.10.2008 04:49

+1 за «показывать пример»

baye 01.06.2013 03:29
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
10
3
1 050
12
Перейти к ответу Данный вопрос помечен как решенный

Ответы 12

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

Ответ принят как подходящий

Вероятно, вам придется более внимательно изучить, что ваш магазин делает неправильно, а что - правильно. Что на самом деле можно там изменить? Что вы можете изменить в своей практике, чтобы улучшить свои навыки или навыки вашей команды? Может быть трудно осуществить изменения в укоренившемся магазине. Попробуйте предложить обзоры кода (сначала по вашему коду), которые могут привести к обсуждению.

Что касается материальных предметов, я бы посмотрел на Скотт Мейерс «Эффективный C++» и т. д. Развивайте свой набор навыков, и вы либо поможете улучшить других вокруг себя, либо перейдете в магазин, который поможет. Также посмотрите книгу Шаблоны проектирования из «Банды четырех».

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

Kris Kumler 02.10.2008 04:39

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

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

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

Хорошо спроектируйте и спроектируйте проект, чтобы ни один из разработчиков не смог пойти другим путем и нарушить качество. Если вы установите отличный дизайн, люди будут просто следовать по маршруту и ​​автоматически узнают

Еще можно попробовать добавить Ед. измтесты и документация.

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

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

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

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

Здорово, что вы признаете, что есть возможности для улучшения, и у вас есть желание попытаться внести какие-то изменения. Я предлагаю прочитать 19-недельный дневник Джеймса Шора, где он документирует шаги, которые он предпринял, чтобы внедрить гибкую разработку в своей компании. Это тяжелый бой, но его опыт показывает, что вы можете что-то изменить.

  • Чтение хороших книг по программированию
  • Учимся на чужом коде - проекты с открытым исходным кодом - лучшее место для старта
  • Регулярно читайте хорошие блоги и форумы - Sutter Mill, Coding Horror, Martin fowler и т. д.
  • Проверки кода
  • Модульные тесты
  • Использование хороших библиотек, таких как Boost, STL. Также понимание их реализации

Просто задать вопрос - хорошее начало.

В частности, вы можете:

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

Изменяться сложно, и вы должны быть тем, кто изменится первым.

Если вы работаете в среде, где другие счастливы, вам придется нелегко. Будьте настойчивы в стремлении улучшить качество кода.

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

Если вы используете g ++, вы можете получить базовую помощь от параметра -WeffC++.

Другие вопросы по теме