Какая была ваша самая эффективная техника для повышения производительности и качества? - PullRequest
2 голосов
/ 05 августа 2010

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

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

Я ожидаю, что ответы будут субъективными. Но в этом вся прелесть. Не все работает для всех. У всех нас есть различный набор ограничений, под которыми мы работаем. Поэтому неизбежно, что мы делаем разные выборы. Если ответы противоречивы, это было бы прекрасно!

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

Ответы [ 3 ]

1 голос
/ 05 августа 2010

Хорошо, вот мой субъективный ответ.

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

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

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

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

1 голос
/ 05 августа 2010

Обучение эффективному использованию рекурсии. Это дало мне основу для разложения сложных проблем в понятный код. Это помогло мне кодировать сложные биты быстрее без или с очень небольшим количеством ошибок. Книга, которая научила меня мыслить таким образом, была «Маленький интриган» Д. П. Фридмана.

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

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

1 голос
/ 05 августа 2010

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

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

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