Топ 10 вещей, раздражающих программистов

Kevin Pang, “Top 10 Things That Annoy Programmers”, public translation into Russian from English More about this translation.

See also 89 similar translations

Translate into another language.

Participants

tigra-alive677 points
tpumapa3m582 points
VlexZ358 points
And others...
Join Translated.by to translate! If you already have a Translated.by account, please sign in.
If you do not want to register an account, you can sign in with OpenID.
Pages: ← previous Ctrl next
1 2 3 4 5

Top 10 Things That Annoy Programmers

Топ 10 вещей, раздражающих программистов

History of edits (Latest: develop7 3 years, 9 months ago) §

— На Хабр уже закинули альтернативный перевод (http://habrahabr.ru/blogs/htranslatio...). Я бы правда за такие переводы пальцы отрубал. :-) tigra-alive

— Ну там человек как-бы один переводил, его дебютная работа, и если не знать первоисточника выглядит вроде ничего %) ничего особенного. tpumapa3m

Programmers all have their personal pet peeves. Whether it's scope creep, Hungarian notation, or smelly coworkers, there are certain nuisances that we must put up with in our line of work. The following is a list of the top 10 things that annoy programmers, compiled from the results of my recent question on StackOverflow along with some of my own experiences as a programmer:

У всех программистов есть своя любимая мозоль. Растущие требования к проекту, венгерская нотация, дурнопахнущие коллеги – всё это нюансы, с которыми приходится мириться по ходу работы. Следующий список – это топ 10 вещей которые раздражают программистов, собранные из ответов на мой последний вопрос на StackOverflow вместе с несколькими моими случаями из опыта работы программистом:

Unapproved edits (Latest: tigra-alive 3 years, 8 months ago) §

— Я не знаю, что он имеет ввиду под StackOverflow - действительно переполнение стека, или название какой-то компании? VlexZ

— VlexZ, сайт http://stackoverflow.com/ Bishop

— scope creep упр. расширение масштаба проекта (в проектном менеджменте: добавление к первоначально планируемым результатам проекта: производство дополнительного продукта или достижение дополнительного свойства уже запланированного продукта) n-two

— Не всегда расширение, возможно и уменьшение рамок. Например заказчик решил что ему чего-то не надо и сказал убрать. Ползучие изменения, короче. tigra-alive

10. Comments that explain the "how" but not the "why"

10. Комментарии, которые объясняют «как», но не «почему»

History of edits (Latest: koozoo 3 years, 8 months ago) §

— Убрал повторяющееся "объясняют". kuzyakiev

Introductory-level programming courses teach students to comment early and comment often. The idea is that it's better to have too many comments than to have too few. Unfortunately, many programmers incorrectly interpret this to mean that they must comment every single line of code, which is why we often see code like this (from Jeff Atwood's post on Coding Without Comments):

Вводные курсы для программистов учат студентов комментировать рано и комментировать часто. Идея в том, что лучше иметь слишком много комментариев, чем слишком мало. К сожалению, многие программисты неправильно понимают эту идею как необходимость комментировать каждую строку кода, в результате мы получаем код наподобие этого (из поста Джефа Атвуда про [ссылка]кодирование без комментариев[/ссылка]):

History of edits (Latest: tigra-alive 3 years, 8 months ago) §

r = n / 2; // Set r to n divided by 2

r = n / 2; // r присвоить n деленное на 2

History of edits (Latest: kuzyakiev 3 years, 8 months ago) §

// Loop while r - (n/r) is greater than t

//Повторять пока r-(n/r) больше чем t

History of edits (Latest: tigra-alive 3 years, 8 months ago) §

while ( abs( r - (n/r) ) > t ) {

while ( abs( r - (n/r) ) > t ) {

History of edits (Latest: VlexZ 3 years, 9 months ago) §

r = 0.5 * ( r + (n/r) ); // Set r to half of r + (n/r)

r = 0.5 * ( r + (n/r) ); //Присвоить r половину от r + (n/r)

History of edits (Latest: kuzyakiev 3 years, 8 months ago) §

— Извините, просто, это "установить x в ..." ухо режет. kycok

— Программист, вообще не скажет установить в случае присвоения значения kuzyakiev

}

}

History of edits (Latest: VlexZ 3 years, 9 months ago) §

Do you have any idea what this code does? Me neither. The problem is that while there are plenty of comments describing what the code is doing, there are none describing why it's doing it. If there were a bug in the program and you stumbled across this code, you wouldn't know where to begin. Now, consider the same code with a different set of comments:

У вас есть какие-нибудь идеи, что делает этот код? У меня нет. Проблема в том, что здесь есть комментарии, которые объясняют что делает код, но не объясняют почему. Если бы в программе был баг, и вы споткнулись бы на этом коде, вы не знали бы, с чего начать. Рассмотрим тот же код, только с другим набором комментариев:

History of edits (Latest: tigra-alive 3 years, 8 months ago) §

// square root of n with Newton-Raphson approximation

// вычисление квадратного корня методом аппроксимации Ньютона-Рафсона

History of edits (Latest: tigra-alive 3 years, 8 months ago) §

r = n / 2;

r = n / 2;

History of edits (Latest: VlexZ 3 years, 9 months ago) §

while ( abs( r - (n/r) ) > t ) {

while ( abs( r - (n/r) ) > t ) {

History of edits (Latest: VlexZ 3 years, 9 months ago) §

r = 0.5 * ( r + (n/r) );

r = 0.5 * ( r + (n/r) );

History of edits (Latest: VlexZ 3 years, 9 months ago) §

}

}

History of edits (Latest: VlexZ 3 years, 9 months ago) §

Much better. We still might not know exactly what's going on here, but at least we have a starting point.

Намного лучше. Мы все еще не слишком понимаем, что здесь происходит, но по крайней мере имеем точку отсчета.

History of edits (Latest: tigra-alive 3 years, 8 months ago) §

Comments are supposed to help programmers understand the code, not the syntax. It's usually a fair assumption that the people reading your code are going to have a basic understanding of how a for loop works, so there's no need to add comments like "// iterates over a list of customers". What the people reading your code are not going to be familiar with is the business logic and reasoning behind it.

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

History of edits (Latest: tigra-alive 3 years, 8 months ago) §
Pages: ← previous Ctrl next
1 2 3 4 5