不要过度设计,不要过度设计,这是我一直都推崇的理念。今天在看一个以前的代码感觉我也掉入了过度设计的陷阱。事情是这样的,一般在写web框架,对于一些常见的消息形式都会选择自己封装下。类似下面的形式
返回一个code和msg.没有封装前是比较冗余需要自己去写code和msg字段,而且没有明确的成功语义。
于是就想着参考java的形式。java中类名点方法非常方便和清晰。
封装后显得简洁和清晰优雅,最后实现效果如下
但是为了完成这个形式的写法真的是费了老大的劲,又是改了上下文,又是搞反射,具体写法可参照另外一篇。
最后发现还是回归到go最初的思想。忘记一切其他语言,就看go应该怎么写。想了下最自然的就是
总结:发现写的时候还是不能先入为主,和其他语言强行对照翻译。不然真的难受。没有类方法就不能强行写,入乡随俗,顺其自然。记住KISS原则,让代码简单,可读
Keep It Simple And Stupid
- 避免过度设计
- 减少冗余和不必要的功能
- 提高效率和易用性