Здесь вы можете найти некоторые полезные ответы: Как заставить младших программистов писать тесты?
Вы попытались говорить с ними об этом? Не мог бы быть плохой первый шаг. Это могло бы также дать Вам некоторый ключ к разгадке относительно того, чем должен быть шаг 2 то, если проблема продолжается.
Протестируйте свое написание! Я думаю, что Вы имели в виду "их код".
NCover + Круиз-контроль, отошлите автоматические отчеты, и затем можно доказать, что, поскольку он регистрируется в покрытии кода, понижается.
Обзоры кода и модульные тесты.
являющийся (как многие люди) парень, который регистрируется в тривиальном изменении и повреждает вещи, я могу сказать Вам, что модульные тесты удаляют любое оправдание за то, что не протестировали, если они - установка, таким образом, можно выполнить целую защиту быстро, и они помогают определить, кто повредил код (принимающий достойный VCS). Конечно, с неофициальными обзорами кода, я зарегистрировался в тривиальном коде, который был рассмотрен старшим (и компетентный) коллега, и все еще поврежденный кодовая база.
Если говорящий с ним не работал, и Вы не можете уволить его, то он или ленив или неблагоразумен. Если Вы не можете взять высокую дорогу и причину с парнем, поразить его, где это причиняет боль, и начните прикреплять его плату. Или если Вы действительно хотите наказать его, заставьте его поддержать код.
Представьте инструменты покрытия кода и представьте автоматизированный отчет со своего сервера сборки всего кода, не покрытого модульными тестами. Его имя будет нижней частью платы.
плата должна быть распечатана и застрять где-нибудь каждую неделю, где все видят его.
Остановка, дающая ему, что-либо новое, чтобы сделать до его покрытия в 85%
, Дают парню наверху платы самые интересные задания.
Связь Ваше следующее записанное предупреждение определенному требованию покрытия кода - тогда у Вас есть ясные причины увольнения, должен он перестать работать.
Это зависит.
его код работает? Действительно ли он - самый продуктивный или наименее продуктивный член Вашей команды? Действительно ли код более с ошибками, чем другие? Насколько ценный его вклады?
, Если он - звездный исполнитель, который производит высокий код qualtiy тогда, кто заботится. Если, с другой стороны, он производит ошибку, код, на котором поехали, тогда усаживает того человека, говорит с ними, размечает последствия и их или добирается на борту, или они не делают
Вы упоминаете, что говорили с разработчиком, но мне любопытно видеть, спросили ли Вы их об их процедуре тестирования. Если они прибывают из другой компании тогда, они могли бы привыкнуть писать весь свой код, регистрируя ее, то, тестируя, и затем регистрируясь в окончательной версии кода. Если они просматривают регистрации как просто другой способ сохранить их работу.
Однако, если они были с Вашей компанией в течение значительного промежутка времени (говорят по крайней мере шесть месяцев) тогда они должны привыкнуть к тому, как Вы делаете вещи, и это не было бы очень допустимым оправданием за намного дольше.
Простой. Заставьте devs ответственность проверить ошибки, о которых сообщают и фиксируют тех, которые воспроизводят. Не позволяйте человеку работать над новыми возможностями.
, Если у человека есть половина мозга, они быстро разработают определенный уровень fustration глупыми ошибками, вызванными не код поблочного тестирования. Кроме того, полный навык человека, вероятно, значительно вырастет.
Если даже обзоры кода его кода не работают, возможно, дайте ему задачу рассмотреть некоторого другого "замечательного" (;)) кодируют, от которого он мог бы коснуться своих собственных проблем и попросить, чтобы он сравнил свой код с той ужасной частью кода.
Обычно, проблемами с таким видом людей является самореализация, так неважно, как Вы пытаетесь заставить его понять проблемы со своим собственным кодом; до и если он сам не понимает, это не собирается работать. Это, конечно, если Вы не имеете опции уволить его, заражаете, хотят ухаживать за ним.
Это кажется, что Вы прояснили ему, что это важно для Вас, компании и команды.
я думаю, что необходимо узнать то, что находится позади его поведения - разве он просто не слышит то, что Вы говорите? Возможно, необходимо найти другой способ сказать это.
, Возможно, он не убедил - могли быть всевозможные причины для того - находят фундаментальную причину и соглашение с это .
Если разговор не работает, поместите политику на месте, где код, в котором зарегистрировались, не сопровождая тесты, просто поддерживается из репозитория. После того, как они должны будут переписать свой код пару раз, они могут получить сообщение.
Я предложил бы (как другие):
Можно сказать системе управления версиями, что у этого пользователя нет разрешения загрузить что-либо, таким образом, он должен попросить, чтобы кто-то сделал это для него. Это должно учить его.
Заключите соглашение в команде о том, что будет протестировано и как она должна быть протестирована, и когда она должна быть протестирована (прежде чем регистрация, прежде чем она продвинет, прежде чем она будет объединена с соединительной линией).
Затем когда регистрация не встречает набор стандартов, команда согласилась, что код должен встретить, просто откатывать его и попросить, чтобы разработчик зафиксировал его. Откатывающие регистрации являются невероятно эффективным способом и сохранить качество кодовой базы перед лицом регистраций низкого качества, и как легкий способ сигнализировать людям, что их код не соответствует стандартам, установленным командой.
хорошая часть об откатах - то, что действительно легко перепроверить код в - просто откатывают откат, фиксируют то, что проблема, и затем проверьте изменение снова.
я старался бы сделать это очень объективным способом, который не сигнализирует ни о ком. Это означает применять его к целой команде, не только Вашему трудному участнику, и фокусироваться на создании его больше о качестве кода и наличия кода, в котором регистрируются, соответствуют стандартам набор команды друг с другом, а не как наказание.
Скажите ему, что его повторно присвоят качественной команде, где он будет делать только документацию. Это работало на меня несколько раз для команд, что я был ведущим... и если это не работает, найдите, что кто-то еще тестирует его код!.. ожидайте, это - Ламе... o да.. Увольте его!!!
Является ли время выполнения запроса SQL O (n) по сравнению с числом соединений, если индексы не используются?
Как правило, это значение равно O (n ^ m), где n - количество записей на таблицу, а m - количество присоединяемых таблиц.
Может ли индексирование повысить фактическую сложность времени большого вывода или только уменьшить время всего запроса на некоторый постоянный коэффициент?
И то, и другое. Индексы позволяют выполнять прямой поиск, когда соединения сильно отфильтрованы (то есть с хорошим предложением WHERE), и позволяют выполнять более быстрые соединения, когда они находятся в правых столбцах.
Индексы не помогают, если они не находятся в столбцах, к которым они присоединены или отфильтрованы.
-121--1302512-Рекурсия должна использоваться только с определенными структурами данных. Файловая система, будучи древовидной структурой, определенно является хорошим примером для рекурсии. Я бы зашел так далеко, чтобы сказать, что это, вероятно, лучший способ выполнить то, что вы пытаетесь сделать.
-121--4196185-Вы сказали, что он не проверяет свой код. Значит ли это, что он не создает единичные тесты? Или он не тестирует свой код НА ВСЕХ?
Если он вообще не тестирует свой код, то это фундаментальная проблема его развития. Тестирование написанного кода является частью задания. Разработчик, который не тестирует свой код, не приемлем и замедляет ваш проект. Тестирование является частью должностной инструкции разработчика (даже так называемых звёзд).
Однако если он тестирует свой код, но не создает «правильное» количество автоматизированных модульных тестов, то это другая проблема, которая требует другого решения. Как говорили другие, вам нужно выяснить, почему, и исправить это. Обзоры кода - хороший способ найти эти проблемы. Но, похоже, вы уже знаете проблемы.
Если у вас установлены автоматические сборки, то убедитесь, что уведомления об ошибках являются как можно более очевидными, так и раздражающими. Wallboards или Audio Уведомления в разработке Общие зоны - хорошее начало. Затем убедитесь, что одна сборка сломана, убедитесь, что никто не проверяет код, пока преступник не исправит проблему.
Предоставлено, это только поймает его только тогда, когда его код разбивает сборку, но давление со стороны сверстников для него постоянно будет прожекторено для этого будет стимулом для большинства. В случае, если это не помогает, возьмите следующие замечательные действия, доступные через ваш отдел людских ресурсов. Вы уже говорили с ним, вы уже дали письменное уведомление - узнайте, какие следующие шаги. Разработчик, который идет на свой путь, - это либо провидец, либо не командный игрок - и я никогда не имел удовольствие от удовольствия с провидцем в этом отношении.
Если бы вы действительно поговорили с ним и дали ему всю необходимую поддержку и обучение, чтобы понять, почему это так важно, то я бы посмотрел на то, как от него избавиться (как это работает, зависит от того, где в мире вы находитесь). Я знаю, что вы сказали, что хотите что-то помимо его увольнения, но иногда нет "хороших" решений проблемы.
Не будучи жесткими программистами, всегда говорят о том, чтобы оставить компании, которые не воспринимают разработку программ всерьёз.
Если это разумно, тогда зачем компании мириться с разработчиком, которому дали все разумные шансы, но который, тем не менее, явно не воспринимает разработку программ всерьез?
.