Рубрики
Без рубрики

Вы даже рефакторируете? 003

Рефакторинг кода имеет решающее значение, но часто упускается из виду. Это может улучшить дизайн и производительность существования … Теги с новичками, CodeNewie, Python, Challenge.

Refactor (3 частью серии)

Рефакторинг кода имеет решающее значение, но часто упускается из виду. Это может улучшить дизайн и производительность существующего кода.

Код Python ниже занимает около 14 секунд для завершения. Refactor . getdata Функция, чтобы заставить его работать менее чем за 10 секунд. Опубликуйте свой ответ в комментариях.

import time

def getData():
  arr = []
  for i in range(1000*1000*50):
    arr.append(i)
  lo, hi = 0, 0
  for x in arr:
    if x < lo:
      lo = x
    if x > hi:
      hi = x
  print(lo, hi)
  return arr

def timed(func):
  def run():
    Tstart = time.time()
    func()  
    Tend = time.time()
    Tdt = round(Tend - Tstart, 2)
    print(Tdt, 'seconds')
  return run

@timed
def main():
  data = getData()
  print('len:', len(data), 'sum:', sum(data))

main()

Оригинал: “https://dev.to/codr/do-you-even-refactor-003-3emc”