一个普通码农所体会的程序之道

作为一个码农,工作大概半年多了。

个人的工作主要在于php和android方面,本人不是大师,也不是天才,但是工作不是靠吹,而是靠扎扎实实的去做。所以也是慢慢有了自己的体会。

本人很喜欢编程,能够在喜欢中成长和进步对我来说是很开心的一件事,只有喜欢一样工作,才能做好一样工作。

我认为编程之法为共通的东西。

首先,编程不是什么可以称之为高雅的东西,也不是那么的神秘,所以我觉得程序应该是简明的,也就是它是容易懂的,最好是没有注释也能明白的。说起来很简单,但是很多人都喜欢写得不那么明白,我觉得这不是什么可以炫耀的事情。是的,有很多高明的程序技巧,比如说位运算,确实是最快的办法,但是我觉得没有必要每个地方都使用这个办法。因为很多时候,这并不是瓶颈,而别人一旦看错,很容易会花更多的时间在debug上面。所以我觉得技巧是可以活用,但是不能滥用。

又比如反射模式,很多书上说精通java必须精通反射,本人也有类似的毛病,就是喜欢用新学到的东西,但是想想,并不是必要的,反射虽然现在优化的很好,但是和直接new一个的速度还是有一个数量级的差距的,而且写法更为复杂,消耗更多的精力和时间。

编程在于解决实际问题,而不是为了使用什么而去用。就像有人说c语言的执行速度比php快太多。但是实际上解决问题的时候,很少有人用c语言去编写一个mysql的脚本。也不会有人真想用java来解决所有问题。

其次,交流很重要,程序员大多都不喜欢交流,习惯性的手痒写代码,但是实际上交流很重要,特别是大型项目的时候,理解需求就是第一步,而编程只不过是实现这个目的的过程。程序员都有自己的骄傲,但是对于自己业务的熟练程度,却往往决定了代码的可用性,也许需求的功能并不是必须的,而实现它需要很大的代价,这个时候也许沟通一下会是比你多写几千行代码有用得多。

程序框架的重要性,很多公司是不会有构架师这样的职位的,构架师说起来很牛逼,但多牛逼的构架师也不是一朝一夕而成就的,更多时候构架师是由程序员兼职的,一个程序的构架,在我看来核心部分是稳定高效紧凑的。怎么说?比如说腾讯开发平台的接口,基本上就是url的不同,而基础公共参数是基本一致的,这样api一旦建立是非常容易维护的。而其他的方面,需要的是细心的去做。

码农不仅仅是编程,更多的是考验你的思维方式和逻辑,语法这些真的不难,像php这样的语言,不可能完成cpu运算很集中的任务,它的目的也不在于此,你在上面研究很多复杂的算法,在我看来意义真的不大。

编程中,最常见的思维是大化小,就是一个功能细分到很多部分,登录分为查db,保持session,销毁这样的小部分,而不要小看任何一个部分,即使是普通的生成sign都有可能会不对,例如在java里面SHA和php就有细微不一样,会导致验证失败。而在android中,很可能就是缺了resize而导致activty销毁了。

工作其实就是细微的积累的过程,也就是说经验。

还有个感受就是,编程在整个项目之中是核心,但是其他的部分也是不可或缺的,我个人习惯于完成一个设计流程,各方面同意如此再去开始编程,比如说用starUML来建立流程。

仅仅是个人一家之言,人的成长是螺旋形的,也许我以后回来看这个,就觉得不是那么的对,但是个人现阶段就体会到这么多而已



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值