fss – Übersetzung – Keybot-Wörterbuch

Spacer TTN Translation Network TTN TTN Login Français English Spacer Help
Ausgangssprachen Zielsprachen
Keybot 15 Ergebnisse  www.viva64.com
  Blog  
We published a similar article at our website last year. But the number of checked projects grows and we find it reasonable to update this list once a year. So let's start.
Подобная статья уже публиковалась на нашем сайте. Однако, количество проектов увеличивается, и, думаю, будет рационально раз в год обновлять список. Этим и займёмся.
  Checking the Code of LD...  
Once a runnable version is ready, we will e-mail everyone who has applied. Thank you all in advance!
Когда появится версия, которую можно будет попробовать, мы напишем всем откликнувшимся письма. Заранее всем спасибо.
  Static analysis is most...  
But one may make a great mistake at this point when integrating static analysis into the development process: namely, you may accept a practice to run static analysis before every release, for instance. Or run it once a month.
Но тут, при внедрении статического анализа в процесс разработки, можно совершить очень большую ошибку. А именно – принять за правило запускать статический анализ, например, перед релизом. Или запускать статический анализ раз в месяц. Давайте рассмотрим, почему такой подход плох:
  d'Artagnan and Internet...  
This program traverses all the site pages and tries to go by all the links found. Then the results are filtered and a letter with a list of bad links is sent by the e-mail addresses defined in advance. The program launch is automated - the links are checked once a week.
Задача поиска неработающих ссылок решается средствами программы Fast Link Checker. Программа обходит все страницы сайта и пытается пройти по всем найденным ссылкам. Затем результаты фильтруются и, на заранее заданные e-mail адреса, отправляется письмо со списком неработающих ссылок. Запуск программы автоматизирован, раз в неделю происходит проверка работоспособности ссылок.
  Integrating PVS-Studio ...  
Once a certain warning pattern gets fixed, the developer releases the corresponding test from the quarantine. Then, if a warning we considered to be fixed in the whole project is suddenly triggered again, we get a failed build and take measures.
В тот момент, когда разработчик фиксит какой-то конкретный тип предупреждения, он выпускает соответствующий тест из карантина. Таким образом, если вдруг предупреждение, которое мы полагаем исправленным во всем проекте, вдруг появляется снова, мы получаем свалившийся билд и принимаем меры.
  StdAfx.h  
If any of the *. h files change once a month, it's too frequent. In most cases, it takes you more than once to make all the necessary edits in an h-file - usually 2 or 3 times. Completely recompiling the entire project 2 or 3 times is quite an unpleasant thing, isn't it?
Если какой-то *.h файл меняется раз в месяц, это уже слишком часто. Как правило, редко удаётся сделать все правки в h-файле с первого раза. Обычно требуется 2-3 итерации. Согласитесь, 2-3 раза полностью перекомпилировать весь проект - занятие неприятное. Плюс полная перекомпиляция потребуется всем вашим коллегам.
  Comparing static analys...  
Here you can track the whole history of this code fragment's life. clientInPVS was once a local array and sizeof(clientInPVS)/sizeof(int) indeed calculated the number of items. But then clientInPVS appeared to be passed as a parameter into a function, while the code remained the same.
Здесь видна целая история из жизни данного фрагмента кода. Когда-то clientInPVS был локальным массивом и sizeof(clientInPVS)/sizeof(int) вычислял действительно количество элементов. Однако со временем clientInPVS стали передавать как параметр в функцию. Но код остался прежним. В результате значение sizeof(clientInPVS)/sizeof(int) всегда равняется или 1 для 32-битной, или 2 для 64-битной платформы. Для исправления надо явно передавать количество элементов.
  Re-analysis of Umbraco ...  
So, the recheck of the Umbraco project showed significant progress in PVS-Studio, in searching for potentially dangerous and erroneous constructs in C# code. The analyzer has proven its effectiveness once again.
Итак, повторная проверка проекта Umbraco показала наличие значительного прогресса PVS-Studio в обнаружении как потенциально опасных, так и ошибочных конструкций в коде C#. Анализатор вновь доказал свою эффективность. Конечно, не следует проверять проекты с периодичностью один раз в год, ведь максимальный эффект от статического анализа достигается при его регулярном использовании. Это позволяет исправлять ошибки своевременно и эффективно, не допуская их просачивания в систему сборки или к пользователям.
  New Year PVS-Studio 6.0...  
View static code analysis as an extension to compiler warnings. It's not a good idea to enable compiler warnings once a year, is it? You have to address them as they appear; it helps save development time on tracking down silly mistakes through debugging.
Еще раз, другими словами. Ценность анализатора не в разовых запусках, а в его регулярном использовании. Статический анализ кода можно рассматривать как расширенный вариант предупреждений компилятора. Глупо включать предупреждения компилятора раз в год. На предупреждения нужно смотреть сразу после их возникновения. Это экономит время разработки на поиск глупых багов с помощью отладки. Со статическим анализатором всё то же самое.
  PVS-Studio's incrementa...  
Total analysis can be launched regularly in separate cases - for instance, once a day during night builds. But the greatest effect of using the analyzer can be achieved only through earlier detection and fix of found defects.
Полный анализ можно регулярно запускать отдельно, например раз в сутки во время ночных сборок. Однако наибольшего эффекта от использования анализатора можно добиться только за счёт более раннего обнаружения и исправления выявленных им дефектов. Ведь чем раньше удастся обнаружить ошибку, тем меньше кода придётся в итоге править. То есть самым оптимальным вариантом использования статического анализатора является проверка нового кода сразу после его написания. Такой сценарий работы, несомненно, осложняется необходимостью постоянно вручную запускать проверку для всех модифицированных файлов. И каждый раз ждать завершения анализа. Это несовместимо с интенсивной разработкой и отладкой нового кода. Да и просто неудобно. Однако PVS-Studio предлагает решение этой проблемы.
  Visual Studio tool wind...  
In most cases IDE creates and utilizes just a single instance for each one of its toolwindows, and this instance will be preserved until IDE itself needs to shut down. Therefore, pressing the 'close' button on a tool window does actually hide it, and when this window is invoked for the second time, it becomes visible again, thus preserving any data that it contained before being 'closed'. But still, is it possible to crate Multi-Instance toolwindows in the IDE, which are the windows that can exist in several instances at once. A toolwindow can also be associated with a certain UI context (as the so called dynamic window), and such window will be automatically displayed when the user enters this context.
В большинстве случаев IDE создаёт и использует только один экземпляр каждого инструментального окна (single instance window), причём экземпляр этого окна остаётся открытым до конца сеанса работы среды. При нажатии на кнопку закрытия такое окно скрывается, а при последующем обращении к нему оно вновь становится видимым, причём все отражённые в нём данные сохраняются. Однако создание и интеграция в IDE Multi-Instance пользовательских окон (т.е. окон, которые можно открывать по нескольку раз) также возможны. Инструментальное окно может быть закреплено за определённым контекстом интерфейса IDE (т.н. динамические окна). Такое окно будет автоматически показано пользователю при его попадании в данный контекст.
  Promotion of Programmer...  
A site like this is in fact a collection of user-published links with attractive titles. Once a link is published, users vote for or against it (i.e. mark it either with a plus or minus). If the link manages to get a high score, it ascends to the top and you may expect thousands of visits in a few hours.
Кроме публикации статьи даже в хорошем месте надо еще добиться того, чтобы статью прочитали. Т.е. привлечь на статью трафик. Здесь тоже важно понимать особенность наших статей. Мы рады, что статьи публикуются не только на нашем сайте, но и на других ресурсах. Но далеко не всегда публикация статьи где-то приводит к тому, что ее прочитают тысячи человек. Нередко полезным оказывается "нагнать целевой трафик" на опубликованную статью. Очень хорошо для этого работают сайты социальных закладок типа reddit.com. Такие сайты представляют собой сборник публикуемых людьми ссылок с привлекательным заголовком. После публикации за ссылку люди голосуют (или плюсом, или минусом). И если много людей ставит плюсы, то ссылка выходит в том и можно за пару часов получить тысячи просмотров статьи. Казалось бы все просто.
  Integrating PVS-Studio ...  
Through the command-line interface, a build plan initiates an analysis of the main project in the standalone mode for the current code version. The analysis process takes quite a while (2-4 hours); that's why we run it not sooner than once a day.
Этот план запускает через командную строку standalone-проверку головного проекта для актуальной версии кода. Анализ продолжается довольно долго (2-4 часа), потому такую проверку мы производим не чаще одного раза в день. После проверки PVS-анализатор генерирует plog-файл — по сути xml с перечнем найденных предупреждений. После этот файл немного обрабатывается (заменяются абсолютные пути на относительные), а потом, при помощи xslt-преобразования, превращается в xUnit-отчет, который умеет понимать и визуализовывать Bamboo. Мы превращаем каждый тип предупреждения в один юнит-тест, с перечнем всех файлов, в которых это предупреждение найдено. После первого запуска все предупреждения отправляются в карантин (то есть билды будут считаться успешными в случае проваленных тестов).
  An unusual bug in Lucen...  
It could be understandable in C++ - people use various text editors instead of IDE, and a typo can be easily left unnoticed. But typing text in Visual Studio, which automatically aligns the code once a semicolon is put, is it possible to overlook the misprint?
Есть у нас диагностика V3035 о том, что вместо += можно по ошибке написать =+, где + будет унарным плюсом. Когда я делал её по аналогии с такой же диагностикой V588, предназначенной для языка C++, я думал - разве можно так ошибиться в C#? В C++ ещё ладно - кто-то использует разные текстовые редакторы вместо IDE, в которых можно опечататься и не заметить ошибку. Но набирая текст в Visual Studio, которая автоматически выравнивает код после того, как поставил точку с запятой, как это можно пропустить? Оказывается, что можно. Такую ошибку я обнаружил в Lucene.Net. А интересна она больше потому, что обнаружить её другими способами кроме статического анализа довольно сложно. Рассмотрим код:
  The First C# Project An...  
So treat PVS-Studio as an extension to the C#-compiler's warnings. Hopefully you don't check the list of compiler warnings once a year, do you? All this stuff is discussed in more detail in the article "Leo Tolstoy and static code analysis".
Статический анализатор — это инструмент регулярного использования. Его смысл находить ошибки на самом раннем этапе. Нет смысла в разовых проверках проекта. Как правило так выявляются ошибки, не оказывающие существенного влияния на работу программы или расположенные в редко используемых участках кода. Причина в том, что настоящие ошибки всё это время исправлялись потом и кровью. Их находили программисты, часами отлаживая код, их находили тестеры и что ещё хуже - пользователи. Многие из этих ошибок можно было бы сразу исправить, если регулярно использовать статический анализатор кода. Рассматривайте PVS-Studio как расширение предупреждений C# компилятора. Вы ведь, надеюсь, смотрите список предупреждений, выданных компилятором, не раз в год? Более подробно всё это разобрано в статье: "Лев Толстой и статический анализ кода".