Python 长dict属性行的重构
代码运行良好,但这行代码看起来很难看Python 长dict属性行的重构,python,refactoring,Python,Refactoring,代码运行良好,但这行代码看起来很难看 self.data["data"]["someComponent"]["items"][1]["content"]["items"].append(json.load(someVariable)) 所以我的问题是: 这适用于python约定的代码吗?薄片8、派林等。。没有显示问题。 也许你对重构有一些新的想法?这对小程序或原型来说是不错的,但对大型和复杂的项目来说是不好的 如果是长行,您可以使用\移动到下一行(但flake8将在[之前发出有关空格的警告):
self.data["data"]["someComponent"]["items"][1]["content"]["items"].append(json.load(someVariable))
所以我的问题是:
这适用于python约定的代码吗?薄片8、派林等。。没有显示问题。
也许你对重构有一些新的想法?这对小程序或原型来说是不错的,但对大型和复杂的项目来说是不好的 如果是长行,您可以使用
\
移动到下一行(但flake8将在[
之前发出有关空格的警告):
self.data\
[“数据”]\
[“someComponent”]\
[“项目”]\
[1] \
[“内容”]\
[“items”].append(json.load(someVariable))
在严肃的项目中,您应该使用其他数据结构。例如,不同类的对象的组合,这形成了您需要的树
为字典结构中的每个实体创建一个类。例如,数据
类,它包含字段someComponent
,例如,someOtherComponent
。创建类Component
,将字段项
作为列表或使组件
可编辑(定义方法\uuuu iter\uuuu()
和可选方法\uuuu getitem\uuuu(索引)
)等。并访问其字段,如下所示:
self.data.someComponent[1].content.append(myNewContentElement)
要从json中获取
myNewContentElement
,您可以创建一个函数,该函数采用加载的json结构,并返回ContentElement
对象。谢谢您的回答。我的问题是如何重构该函数以减少丑陋,我正在寻找一些最佳实践。也许您有一些关于ob组成的代码示例不同课程的主题?谢谢你的帮助。祝你有愉快的一天和心情!