Возврат объекта, который иногда будет использоваться - PullRequest
0 голосов
/ 20 февраля 2019

Python - объектная модель страницы

Является ли возврат объекта страницы, который будет использоваться только в 80% случаев, нарушением каких-либо рекомендаций?

def delete_list_item_by_name(self, item_name):
    ... code to find the proper list item ...
    row_del_btn = self.helpers.wait().until(ec.visibility_of(row.find_element(*self.DELETE_BTN)))
    ActionChains(self.driver).move_to_element(row_del_btn).click(row_del_btn).perform()
    return DeleteConfirmModal(self.driver)

Проблема в том, что deleteConfirmModal (всплывающее окно) появляется только в 80% времени после нажатия кнопки удаления.Таким образом, существуют разные мнения о том, должен ли быть возвращен объект страницы.Объект страницы не имеет init, поэтому не вызовет сбой.Возврат объекта страницы более удобен.

1 Ответ

0 голосов
/ 20 февраля 2019

Вы фактически возвращаете ссылку на объект, то есть, если он не используется, он будет собирать мусор (удаляться из памяти).

Это не вызывает существенных проблем с точки зрения производительности.

С точки зрения передового опыта, вы должны назвать свою функцию соответствующим образом, чтобы указать, что она возвращает что-то, что pop_by_name, вероятно, будет лучше (pop означает удаление и возврат).

...