pthon
@pthon

Оцените качество кода?

Если Вам не сложно, оцените по шкале от 1 до 10 качество этого ужаса)
По задумке программа должна следить за состоянием онлайна определенного человека и уведомлять, когда он онлайн, так-же записывать все это в лог.
код:
from bs4 import BeautifulSoup
import requests
import time
import plyer
import datetime
import os

Boolyk = True
url = 'UrlHere'
#Current Directory Detect
CurDir = os.path.abspath(__file__)
LogCurDir = CurDir + "logCheck.log"
LogCurDirStr = str(LogCurDir)
DirLogReplace = LogCurDirStr.replace("Check.py", "")
print(DirLogReplace)

while Boolyk:
	my_file = open(DirLogReplace, 'a+')
	now = datetime.datetime.now()
	GetTime = now.strftime("%d-%m-%Y %H:%M:%S")
	#Html Parse
	headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:45.0) Gecko/20100101 Firefox/45.0'}
	page = requests.get(url, headers = headers)
	soup = BeautifulSoup(page.text, 'html.parser')
	LastOnline = soup.find('div', {'class': 'profile_time_lv'})
	#Tag to str
	LastOnlineStr = str(LastOnline)
	#Log write
	my_file.write(GetTime)
	my_file.write(' ')
	my_file.write(LastOnlineStr)
	my_file.write('\n')
	#Print 
	print(GetTime)
	print(LastOnline)
	#Check Online
	if LastOnline == None:
		plyer.notification.notify(message='Юзер онлайн',app_name='PyCheck',title='Уведомление')
		my_file.write('Юзер онлайн')
		print('Пользователь онлайн, остановка цикла.')
		break
	my_file.close()	
	del now
	del GetTime
	del page
	del soup
	del LastOnline
	del headers
	del my_file
	time.sleep(5)
  • Вопрос задан
  • 289 просмотров
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
PEP8 не соблюдается, названия переменных невнятные, количество переменных избыточное, количество строк кода избыточное, ведение лога навелосипежено, файл в случае остановки цикла не закрывается.

5d306e1883e8b985877430.png
Ответ написан
tsarevfs
@tsarevfs
C++ developer
Видали и страшнее. 4 из 10.
Из минусов:
del не нужен. Сборщик мусора справится с очисткой.
Используйте with для открытия и зактрытия файлов.
Не то что бы структура очень сложная, но какие-то части можно бы вынести в отдельные функции. Это лучше бессмысленных коментариев типа #Print.
Разный стиль именования. CamelCase и snake_case для переменных
Смешивание " и '
Из плюсов:
Спасает то, что код простой.
Осмысленные имена переменных.
Какая-то структура.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы