这是最近面试遇到的技术题目,虽然已经以失败告终,但是还是想听听大家对这样的代码的看法。
题目是这样的:
使用Python开发个命令行工具用于持久化一些个人信息(姓名、地址电话号码之类的)。支持至少两种持久话格式,其中一种为XML。然后通过两种方式显示他们(不需要使用图形界面)。不需要支持手动数据输入,可自行选择格式和测试数据。
此外还要让开发者能够简单的:1)添加其他的存储格式;2)查询当前支持的格式;3)提供其他的XML reader或writer。
要展示OO设计和设计模式知识。
这里是代码:https://github.com/popbones/CodeSample.Python.Serializer
对方的反馈:
代码太长,有点过于复杂了。建议简洁一些,例如少一些继承。避免在serializers中使用递归的__pack, __upack方法。
为了提高希望大家能给写建议。比如如何设计更好,哪里需要修改,哪里写的就是垃圾等等。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.