Вместо издевательств SLF4J вы могли бы разместить важные вызовы журналов, которые вам нужны , чтобы протестировать их собственные методы, которые вы можете легко высмеивать.
Если вы действительно хотите издеваться над SLF4J , Я бы поспорил, что вы могли бы создать своего собственного провайдера для этого, что позволит вам поставлять фальшивый регистратор со стороны SLF4J вместо того, чтобы вводить его в свои служебные объекты.
Давайте рассмотрим ваш код:
p = turtle.Pen()
p.reset()
Для чего reset()
? Ничего еще не было установлено , установлено , так почему же сбросить ? Не добавляйте код, который не продвигает вашу цель. Снова здесь:
p.down()
Ручка начинается вниз, поэтому нет необходимости ее менять. В этой команде:
p.speed(22)
Откуда 22
пришли? Документация для speed()
говорит, что аргумент от 1 («самый медленный») до 10 («быстрый»), где 0 означает «самый быстрый» Это превращает 22 в какое-то другое значение - если вы не знаете что, тогда не используйте его! Для ясности вы должны использовать символические альтернативы, такие как «медленный».
p.left(22222)
Откуда 22222
пришел? Почему ты удивлен, что у тебя нет треугольника? Для идеального равностороннего треугольника мы бы использовали 120 градусов, но нам не нужен идеальный треугольник, нам нужна спираль, поэтому мы добавим к этому значению градус или два. Почему это имя переменной:
dog = 0
Имена переменных должны разъяснять, что мы делаем, а не скрывать это. Эта переменная будет циклически проходить через компонент «H» значения цвета «HSV», где «H» обозначает «оттенок». Итак, давайте использовать это.
Наконец, нам нужен один цикл, а не два, чтобы изменения рисунка и цвета происходили одновременно:
from turtle import Screen, Pen
import colorsys
screen = Screen()
screen.title("Rainbow Spiral")
pen = Pen()
pen.speed('fastest')
hue = 0.0 # range is 0.0 to 1.0
for i in range(200):
color = colorsys.hsv_to_rgb(hue, 1, 1) # pen wants RGB
pen.pencolor(color)
pen.forward(i * 2) # double size
pen.right(121) # 120 degrees is an equilateral triangle
hue += 0.005 # increment by 1/200
pen.hideturtle()
screen.exitonclick()
Обратите внимание, что я изменил left()
на right()
, чтобы соответствовать вашему пример спирали.
ВЫХОД
Программы рассказывают историю. Тщательно выбирайте имена персонажей (переменные) и избегайте включения элементов (кода) в историю, которые не влияют на ее исход.