程序员能力如何进步

作为程序员,设计师或者架构师,我们的目标都是:解决问题。
但有些问题是很复杂的,现从4个角度分析 :语法,算法,设计,眼见。

眼见,和经验关系很密切的部分。表现为:遇到现实问题如何思考。如:跨系统的事务完整性的保证。
设计,基于眼见,假设我们明确了某个问题需要注意的点。也许能将问题解决。但同时需要考虑到日后的维护升级而做的准备。主要体现在一些设计原则,以及常用的设计方法(模式)的总结。
语法,某项具体技术的知识点。如JDK提供的API,mysql对应的关键字、函数等,是我们解决问题的直接执行者。
算法,语法层对应的内部原理,让我们更清楚对语法层的选择的优劣。同时也为解决具体的问题提供思路。

对于要进步的我们,如何均衡4者的关系?
很明显,没有具体的语法作为支撑,直接去提高眼见是没有支撑点,是不行的。同时,设计和算法,也对眼见有较大的影响。
当然,终日只研究语法,固然能成为不错的码农,但很难升华自己的水平。而只思索算法,显得过于理论化,除非你是搞数学或科研。语法、算法相结合,和明显可以让想法落地。当然,要解决工作中、现实中的具体实际问题,还需要有眼见为我们开路,指明方向才行。如果想让问题解决的更好,那么就需要让系统变得易维护性、可升级,具有高可用性。

貌似4者相互关联,如何寻求突破口,去提升自己得能力呢?
基于以上分析,暂先给出一个建议得方法:
从实践中分析。
1、明确需求。思考问题、思考需求。
2、依据自身眼见,给出解决问题得思路,方案。
3、结合技术选型,依据初步的思路给出初步的设计方案。
4、综合考虑语法、算法,是否对所提设计有很好的支持。反过来影响设计和眼见给出的方案。
5、此过程可能需要不断的迭代,具体的完美程度,受到资源(时间、每位参与者的技术能力)影响。

猜你喜欢

转载自caowei3048.iteye.com/blog/2118047