Когда правильно редактировать код, написанный коллегой? [дублировать

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/3921

Вопрос

Этот вопрос уже имеет ответ здесь:

Для каких вопросов правильно редактировать код, написанный коллегой? Для каких вопросов это неправильно?

Это было полезно?

Решение

Когда это правильно

Когда редактирование улучшает функциональность программы или делает сам код более читаемым / поддерживаемым.

Когда это неправильно

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

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

Кто является владельцем кода? Компания или застройщик?

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

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

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

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

Поощрение всей команды следовать за «правилом бойскаут -скаута» дяди Боба и всегда пытается проверить код немного чище, чем вы его проверили, - это хороший способ убедиться, что код со временем остается чистым и не превращается в нечитаемый , незаметный беспорядок.

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

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

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

Неправильно изменить рабочий код только из -за личных предпочтений.

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

Когда правильно редактировать код, написанный коллегой?

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

Для каких вопросов правильно редактировать код, написанный коллегой?

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
scroll top