一点点改进
#开源 #重构 #java #staticsitegenerator

我的代码具有太多的重复项和不良的可读性

我对代码的担忧之一是我有许多超载功能,这些功能需要一到三个用户输入。他们做同样的工作,几乎没有变化。当我添加新功能时,很难找到错误并更新所有过载功能。我的FileUtilities课程已经超过400行。由于我正在实施更多选项,因此我决定进行重构。否则,代码会让我发疯。

传递对象以减少超载功能

第一个任务是创建选项类,以摆脱过载功能。创建课后后,我更新了所有功能,以用选项对象替换参数。然后,我比较了与Options类简化的旧功能和新功能,以查看在哪里重复使用和添加什么。我觉得我正在用新零件修理机器的旧零件。这是一项非常有趣的任务,尽管我需要一些决心来更改工作代码。我知道工作代码还不够。几个小时后,我的代码变得更加精简。我很高兴能够删除许多超载功能的行。

尝试让课堂做一份工作

和下一个任务是拆分一些FileUtilities函数,以便我的FileUtilities类只能做一个作业。因此,我创建了Parser类,并将翻译部分移至该类。现在,我的FileUtilities班几乎成为了它的一半。阅读要容易得多,因为我只有一个功能即可完成这项工作。我也将所有实现文件移至/src文件夹。我进行了一些测试以确保一切正常,然后我将更新的代码推到了GitHub,并大量工作。

Image description 现在,我的代码分为更易于管理的大小!

重构使工作更容易

因此,现在添加新功能变得更加容易。我不必整整编写重复的代码。另外,我分解了HTML元素字符串,以便任何人都可以轻松了解文件写的内容。这样,在哪里可以更轻松地将某个元素或属性添加到HTML。

仍在学习git ...

我打开了三个问题,以添加--lang选项,降价代码和水平解析功能。这些问题足够小,可以实施。我完成并测试了每个问题,然后转到下一步。因此,是时候合并这些问题了!第一期没有任何问题,但是第二期有冲突。我有一些解决冲突的经验。我使用GitHub桌面和VS代码来处理冲突。但是以某种方式,我无法在GitHub桌面应用程序上获得冲突信息弹出窗口。然后,我不小心拉了远程回购代码。我知道我应该在强迫git做某事之前就知道自己在做什么。我经常犯类似的git错误。我必须手动恢复测试文件文件夹和Intellij配置文件,因为它们不在远程存储库中,这要么在我的本地中。我已经学到了有关GIT的更好的知识,但是我仍然需要更多的基础知识才能更好地使用GIT。