What does this code do?
От: monax  
Дата: 04.08.11 09:32
Оценка:
Статья о контексте, в котором обсуждается тот или иной код и насколько может быть трудно без него What does this code do?

At the SciPy 2010 conference, a speaker showed several short code samples and asked us what each sample did. The samples were clearly written, but we had no comments to provide context. This was the last sample.

def what( x, n ):
    if n < 0:
        n = -n
        x = 1.0 / x
    z = 1.0
    while n > 0:
        if n % 2 == 1:
            z *= x
        x *= x
        n /= 2
    return z


И ещё:

Now suppose you’re a contractor on the opposite side of the world from Sam. You have even less context than if you were in his office talking to his office mate. After a great deal of agony, you send your contribution back to Sam’s company. You comment your code beautifully, but Sam’s colleagues complain that your code is poorly written and that you didn’t solve the right problem.

Institutional memory is more valuable than source code comments. It costs a great deal to replace a programmer, even one who leaves behind well-commented code.


Собственно в статье описаны причины, почему компаниям с долгоиграющими проектами невыгодна высокая текучка кадров. Вроде бы и прописные истины, но прочесть один раз не вредно.
Re: What does this code do?
От: dilmah США  
Дата: 04.08.11 09:43
Оценка: +7
M>
M>def what( x, n ):
M>


через несколько секунд просмотра на ум сразу приходит возведение в степень.
Re: What does this code do?
От: Lloyd Россия  
Дата: 04.08.11 11:06
Оценка:
Здравствуйте, monax, Вы писали:

M>Статья о контексте, в котором обсуждается тот или иной код и насколько может быть трудно без него What does this code do?


M>

M>At the SciPy 2010 conference, a speaker showed several short code samples and asked us what each sample did. The samples were clearly written, but we had no comments to provide context. This was the last sample.

M>

M>def what( x, n ):
M>    if n < 0:
M>        n = -n
M>        x = 1.0 / x
M>    z = 1.0
M>    while n > 0:
M>        if n % 2 == 1:
M>            z *= x
M>        x *= x
M>        n /= 2
M>    return z
M>


Алгоритм быстрого возведения в степень
Re[2]: What does this code do?
От: Ulitka США http://lazarenko.me
Дата: 04.08.11 20:25
Оценка:
В пистоне нет pow?
Re[3]: What does this code do?
От: Lloyd Россия  
Дата: 04.08.11 20:47
Оценка:
Здравствуйте, Ulitka, Вы писали:

U>В пистоне нет pow?


Не знаю.
Re[3]: What does this code do?
От: monax  
Дата: 05.08.11 05:32
Оценка:
Здравствуйте, Ulitka, Вы писали:

U>В пистоне нет pow?


есть pow, есть x ** n
Re: What does this code do?
От: Безон Великобритания  
Дата: 10.08.11 16:00
Оценка:
Достаточно вот этих строчек
def what( x, n ):
    if n < 0:
        n = -n
        x = 1.0 / x
-----
Re: What does this code do?
От: Abyx Россия  
Дата: 10.08.11 16:13
Оценка:
Здравствуйте, monax, Вы писали:

M>

M>

M>def what( x, n ):
M>    if n < 0:
M>        n = -n
M>        x = 1.0 / x
M>    z = 1.0
M>    while n > 0:
M>        if n % 2 == 1:
M>            z *= x
M>        x *= x
M>        n /= 2
M>    return z
M>


M>Institutional memory is more valuable than source code comments. It costs a great deal to replace a programmer, even one who leaves behind well-commented code.


это ж редкостный гуанокод %)
лучше большая текучка кадров + нормально комментированный (самокомментирующийся) код, чем такое

алсо если речь о питоне, то достаточно было бы строчки """Calculates z = x ** n"""

--
оттуда же
> (m_z & 65535)
— руки надо за такое отрывать
In Zen We Trust
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.