康健慧杂谈 登录

码农的编程感悟(真味只是淡)

大梦2017-01-04 17:02:10阅读161

还记得我刚开始正式学习编程的时候,是在某软件培训机构,当时我想掌握自己所用语言(java)的每个特性,好像有泛型、反射、并发的各种锁之类的东西。我写程序时也会尝试去使用这些特性。可能这样对吹牛B和炫耀技能比较有利,呵呵。

我确实出点风头,谁有问题我都会热心解答,并且基本都能搞定。 后来慢慢发现,这些炫耀的特性中有一部分带来的麻烦远远超出它们提供的价值。其实一些事因为规范不是很完善而导致的版本兼容性问题,一些语法因为并不太常用,导致代码阅读和修改的成本上升,还有一些看似很酷的特性诱惑我追求奇技淫巧但很容易出错,当然了,还有一些就是设计错误。

有时候语言的设计者也可能会犯错误的。 大多数语言都同时存在精华与糟粕的部分,如果能真正取其精华取其糟粕的话,我可以成为一个更好一些的程序猿。
再有就是我认为编写代码最重要的几点:
(1)朴实:使用官方文档、demo和自己团队内都常见的编码习惯,少使用逻辑过于复杂精巧的独创编码,避免使用自己没有完全驾驭的特性。

(2)分治:动手之前先把功能逻辑拆分成尽可能小而独立的片段方法,然后分头一一去解决这些小片段。再复杂的问题总能被分布描述清楚,再复杂的代码也总能被拆分为一个个明确、具体的小片段,然后我们来分而治之。只要你能把问题分治描述清楚,那基本也就能解决问题了!

(3)简单:要用尽可能少的代码行数解决问题,这意味着你的代码更可靠、更易读、更易于维护。有时候也意味着只专注眼前的任务就好。只有尽快交付的代码才能争取到更多商业价值。而大多数情况下,你不会未卜先知准确的预测出产品发展,你甚至不知道自己写的项目将会被改造成什么鸟样。所以少杞人忧天的对未来的无数种可能的情况来做重构或通用性设计了,这99%是在浪费时间!

作者:大梦

(开心运动,极简健身)

点赞(3)    评论(1)

海上追风2021-01-25 10:35:43

写的不错!可能很多技术类行业都有类似的心路历程。

回复
(0/255)