Подтвердить что ты не робот

Должны ли программисты четко писать?

Я читал книгу Ричарда П. Габриэля "Шаблоны программного обеспечения" (pdf), в которой содержится эссе под названием "Написание Бродсайда" в который он утверждает, что программисты должны развивать свою способность писать четко. Я обнаружил, что его предложения определенно улучшили мою способность писать технические спецификации и проектные документы.

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

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

Итак, я думаю о том, чтобы предлагать письменные семинары.

Кто-нибудь имеет письменные семинары по месту работы?

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

Изменить: о чем я говорю здесь, это способность документировать ваш код четким образом, например. технические спецификации и проектные документы. Не написание самого исходного кода.

4b9b3361

Ответ 1

Обязательная цитата Дейкстры:

Помимо математического наклона, исключительно хорошее мастерство одного родного языка является самым важным активом грамотного программиста.

Ответ 2

Да! Наиболее определенно.

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

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

Ответ 3

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

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

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

Ответ 4

@slashmais: Любой человек в любом профессиональном качестве должен иметь возможность четко общаться, будь то инженер, менеджер, тестер или что-то еще. Это не только личное предпочтение, я считаю это во благо организации или бизнеса. Вам не нужны программисты, единственной функцией которых является реализация и плохое оформление документа; вы хотите, чтобы инженеры могли глубоко задуматься о коде и сообщить о намерениях другим в среде вне списка кодов.

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

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

Ответ 5

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

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

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

Ответ 6

Да, программисты должны документировать свою работу; вы бы построили дом из модели с одной восьмой шкалой и верили, что чертежи не нужны?

Стоит прочитать: Стив Макконнелл Code Complete, особенно главы о функциях именования и написании документации. Если вы назовете и комментируете свой код соответствующим образом, документы записываются сами.

Ответ 7

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

Хороший пример, который, я уверен, знаком большинству людей, читающим это знаменитая книга K & R. На мой взгляд, одной из причин того, что C стал таким выдающимся языком программирования, является то, что Керниган и Ричи создали хорошо написанную книгу. Если бы они подготовили руководство, которое было типичным для стиля руководства для компиляторов в то время, а не простое, сжатое и конкурирующее учебное пособие, я сомневаюсь, что C стал бы таким же доминирующим, как и он.

Ответ 8

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

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

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

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

Ответ 9

Здесь, в Аргентине, мы должны общаться с нашими приятелями в США, чтобы выполнить нашу работу.

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

Итак, да. Я думаю, что он очень важен.

Ответ 10

Да,


Но писать ясно не то же самое, что иметь безупречную орфографию и грамматику.

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

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

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

Помните все о том, насколько легко кому-то понять, что вы имеете в виду, а не как соответствовать им стиль вашего письма.

Неверная грамматика не всегда является лучшим способом общения, например.

"Это своего рода английский язык с которого я не стану".

Ответ 11

мои мысли:

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

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

С. Отчасти это зависит. Если они очень низкоуровневые программисты, работающие над компонентами кода, A + B, однако, если они находятся на высоком уровне или работают на большей части системы или всей системы, то да, умеют писать четко и правильно, но в какой-то степени.

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

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

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

EDIT: Я должен добавить, хотя часть этого зависит от используемого вами процесса и от того, какие роли и обязанности может иметь разработчик. Очевидно, что если требуется, чтобы разработчики писали часть руководства пользователя, то да, писать ясно ОЧЕНЬ важно. Но это обычно не норма.

EDIT2: Ничто из этого не означает, что разработчик не должен обладать ЛЮБОЙ пишущей способностью, это было скорее сказать, что написание кода гораздо важнее, чем писать в стиле tech/doc.

EDIT3: Теперь, когда выяснилось, что OP не хочет ссылаться на код, тогда я должен сказать, что нет, в общем, не очень важно, чтобы разработчик мог писать техническую документацию и конструкторскую документацию, так как для девелопера есть гораздо более важные вещи.