Skip to content

Hw 18#5

Open
GlebBobkov wants to merge 10 commits into
mainfrom
HW_18
Open

Hw 18#5
GlebBobkov wants to merge 10 commits into
mainfrom
HW_18

Conversation

@GlebBobkov
Copy link
Copy Markdown
Owner

No description provided.

Copy link
Copy Markdown

@nvaulin nvaulin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Привет!

Хорошая работа:)
По случайному лесу по логике все круто, но есть несколько косяков. Например, нету распараллеливания в предсказаниях, и в примерах всё на 1 процессе.

Также в Showcases не вижу других примеров кроме RF (-2 за каждый пропущенный из 3х).

В конце концов довольно большие проблемы с качеством кода (-6). Много проблем с неймингами, с пустыми строками, с конструкциями условий. Тут в том числе в оценку входит не просто копирование из раных домашек в 1, а какое то объединение (например у тебя импорты в центре скриптов) и исправление по тем ревью которые давали в течение года.

Тесты сами хорошие. Есть проблемы опять же по офомлению, но сами идеи классные.

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

Баллы: 15/25 (RF) + 10/10 (Тесты) + 3/15 (Репозиторий, примеры и оформление кода) = 28

Comment thread README.md
@@ -1,143 +1,31 @@
# my_first_tool
**This program consists of 3 tools:**
**This program consists several of my homeworks:**
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В целом для внешних людей чтобы лучше понимали что происходит можно добавить что это годовая программа ИБ и курс по питону

Comment thread README.md
# my_first_tool
**This program consists of 3 tools:**
**This program consists several of my homeworks:**
## Main script
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут то что main в целом ок, хотя можно было бы дать название главному скрипту такое же как название репозитория

Comment thread bio_files_processor.py
Comment on lines 1 to +6
from os import makedirs
import os.path
import time
import os
import shutil
import tempfile
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Порядок импортов не очень верный:)

Ну и не надо импортировать os.path, обычно импортируют os и в нем обращаются к path

Comment thread bio_files_processor.py
Comment on lines +44 to +46



Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Отступ 2 строки

Comment thread bio_files_processor.py



class FastaRecord:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Классы принято определять до функций

Comment thread main.py
Comment on lines +482 to +486
load_dotenv("bot.env")

TG_API_TOKEN = os.getenv("TG_API_TOKEN")

TELEGRAM_API_URL = f"https://api.telegram.org/bot{TG_API_TOKEN}/sendMessage"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

константы тоже объявляют в начале модуля

Comment thread test_my_first_tool.py
lenght_chech,
quality_chech,
dna_rna_tools)
#проверка чтения fastq
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут эти комментарии не нужны, все же и так понятно)

Comment thread test_my_first_tool.py
self.min_gc = 40
self.filter_obj = FastQFilter(self.input_file, self.output_file, self.min_length, self.min_quality, self.min_gc)
def tearDown(self):
import os
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну os то стоит импортировать в начале скрипта:)

Comment thread test_my_first_tool.py
Comment on lines +11 to +18
def setUp(self):
self.input_file = "test_input.fastq"
self.output_file = "test_output.fastq"
self.min_length = 50
self.min_quality = 20
self.min_gc = 40
self.filter_obj = FastQFilter(self.input_file, self.output_file, self.min_length, self.min_quality, self.min_gc)
def tearDown(self):
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ооочень не хватает пустых строк между методами:)

Comment thread requirements.txt
Comment on lines +1 to +9
adal==1.2.2
aiohttp==3.8.1
aiosignal==1.2.0
appdirs==1.4.4
arcp==0.2.1
argcomplete==1.8.1
async-timeout==4.0.1
attrs==21.2.0
avro==1.11.0
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Здорово что не забыл про requirements. Но тут получается очень много всего. Можно оставлять
на основе только используемых импортов, например с помощью pipreqs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants