Understanding and modifying large projects

Ответ делает это без рекурсии. Спасибо Г. Андерсону.

import numpy as np
import random
import pivot as p

condition = True
while(condition):
    matrices = np.random.rand(4, 4)
    print(matrices)
    u, s, v = np.linalg.svd(matrices, full_matrices=False)
    Rank = 0
    for i in range(len(s)):
        if s[i] < 0.01:
            s[i] = 0
            print(s)
            condition = False
17
задан Boris Pavlović 3 September 2010 в 13:20
поделиться

1 ответ

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

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

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

2
ответ дан 30 November 2019 в 12:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: