两种方法具有相同的代码实现

时间:2019-06-26 07:32:21

标签: java android

我想知道处理下面代码的最佳方法是什么

public void hideKeyboard() {
     homePage.getDriver().navigate().back();
}

public void navigatetoPreviousPage() {
     homePage.getDriver().navigate().back();
}

基本上,这两个代码在按下android后退按钮时都具有相同的功能,但是我可以使用后退按钮隐藏键盘,或者使用后退按钮移回页面。

出于可读性考虑,有一种方法可以说明隐藏键盘,例如在键入字段之后。对于其他情况,有一种方法说明我要移回页面将很有意义。

是否可以像上面那样实现它?或者有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:2)

现在可以像这样实现它。您提到的自己很重要:

  

出于可读性考虑,有一种方法可以说明隐藏键盘,例如在键入字段之后。对于其他情况,有一种方法说明我要移回页面将很有意义。

要拥有高质量,可维护的代码,重要的是您的代码必须表达程序员对其的意图-这将使其他程序员,甚至将来自己变得更容易理解和使用。因此,在代码中需要隐藏键盘的位置,最好调用hideKeyboard()方法,因为很明显并且很容易理解,此时需要隐藏键盘。导航到上一页,反之亦然。

后来可能会发现,找到一种隐藏键盘的更好的方法,该方法与仅按“后退”按钮的方式不同。如果是这种情况,那么您唯一要做的就是修改hideKeyboard()方法的实现。

如果您现在真的想避免代码重复,则只需在navigatetoPreviousPage()方法内调用hideKeyboard()

public void hideKeyboard() {
    navigatetoPreviousPage();
}

public void navigatetoPreviousPage() {
    homePage.getDriver().navigate().back();
}