编程之道

简介: 编程之道

早上看了CSDN上一篇大三学生写的博客,让我觉得自己万分的惭愧,就如同被狠狠地扇了一个耳光。说实话,我很讨厌自己,讨厌自己身上的那些缺点。当然不能因为自己很烂,就彻底的自暴自弃,我还是需要鼓起勇气,多学习一些知识终究会有好处。


切记一根筋


看完这个小节,都有点怀疑自己到底还能不能在软件这个行业上有所成就。这里还需要把作者给出的内容重复一遍。


问:“若要做好编程,必须要积累很多年经验才行吗?”

比尔盖茨说道:“不是的,我觉得在编程的3-4年后,你是不是一名优秀的程序员就决定了。”


我真的觉得自己就是一名不会编程的人,虽然我已经从事软件开发4年了,这还要抛弃大学的学习生涯。如果按照这个观点继续下去,我觉得我恐怕要放弃编程了,然而我无论可走,我只有在软件开发这个行业中才能生存,我没有其他的技能。我必须给自己一点自信,毕竟我的工作还是受到了重视和尊重,我的确不够优秀,但我至少比很多人要强,我并不会被淘汰。


成为更加优秀的程序员的方法是抛开编程。


多培养自己对编程周边事情的热情,让自己喜欢的范围扩大,进而在编程技能之外的地方也取得进展突破,这会帮助你成为更优秀的程序员。记得《代码大全》中写到软件构建的过程中需要用到隐喻,而隐喻就需要你能够更好的懂得生活。


我最近在极客头条上发表了一篇程序员们,你们在读哪些书?说说书名+收获,很多很多同仁所读的书都不会仅限于软件编程的书,他们在读《富国论》、《时间简史》、《解忧杂货店》等等,我觉得这就是一个优秀的程序员应该去读的书。


破窗理论


这个观点,Jeff其实发表过与其类似的博客,诸如《处理坏苹果》。这其实都表达了一个内容,就是:代码中如果存在瑕疵、错误,那么就要着力修改,不要放任小的错误不管,这终究会带来灾难。


关于“破窗理论”,如果你不知道的话,请了解一下吧,这其实和做人有一样的道理,“勿以善小而不为,勿以恶小而为之”,这是刘玄德的遗诏中一句话。


人的能力会与日俱增,那么当你看到你以前写的烂代码后,如果你有精力修改,那么就修改掉它。如果你正在负责的项目中也有,那么就花时间改善掉,不然整个项目会随之烂掉。


要么热爱,要么离开


这个观点其实也可以应用到其他领域,所谓“干一行,爱一行”,如果你选择的行业,你不够热爱它,那么离开它就是唯一的抉择。迫于社会压力,处在软件行业顶峰的人,诸如刘强东、马云,他们如明星般光彩照人,而处于低端的人,像我一样,苦苦的为明天而挣扎。


很多时候,我也在怀疑我自己是否适合做这个行业,但是我思前想后总结到,我离开这个行业,真的无论可走,与其这样说,还不如说我深深的爱着这片土地。


简单之美


这个观点也很普通,乔布斯也说“致繁归于致简”,几乎所有人都不喜欢繁文缛节,我们都崇尚于简约大方。观点表达起来都很容易,但是能够强制执行简单的做法却少之又少。


keep simple:保持简单,当在向我们的项目中添加功能时,尽量先在脑中过一过这个概念,保持当前添加进去的模块足够的独立,足够的简单,不去影响到已经存在的代码。

不要妄自推测:有很多人喜欢在写一个功能的时候,瞻前顾后,认为自己应该想得足够的充分,以致于本来很简单的功能最后繁杂沉重。举个例子,假如我们现在要为NBA的一场比赛记录分数,你可能想,万一哪天某一个超级英雄爆发个人得分单场超过1000分,那么我们的记分器就要做好充分的考虑,这就属于妄自推测,很明显,单场比赛总得分一个球队超过200分就不得了了。

自己动手:我记得,我曾发表过一篇名为《mysql:论证select count(*)和select count(1)的区别》的文章,是因为我的同事说怎么怎么样,结果经过我的论证发现和其说的观点有很大的冲突。自己动手,丰衣足食。

乐于删代码


我一直很厌烦别人把已经没有用处的代码留在项目中,即使那段代码曾经做过贡献,我觉得也应该尽早的删除掉,我甚至认为,不必说出任何理由。


     // 保证金和出金的冻结资金是累加的,对于结算程序来说,当日结算时需要减去上一日的结算后的占用资金

     // 重要:从银行清算结果看,银行在处理冻结资金时,冻结资金为当前账户所有的保证金+出金冻结资金

//   BankDailyPreSettlement preRecord = this.bankDailyPreSettlementMapper.getPreday(record.getUid());

//   if (preRecord != null) {

// record.setOccupyMoney(record.getOccupyMoney().subtract(preRecord.getOccupyMoney()));

//   }


看看我曾经这样干过,但是经过今天看Jeff的观点,我觉得我赶紧把这段内容给删除掉,并且连根拔起,删除掉这段内容,并且删除掉相关废弃的代码。


你是程序员这块料吗


的确对于我自身而言,在学习编程的过程中,我在以下这些内容上遇到了障碍。


赋值和序列

递归

并发

这些阻碍足够让我觉得自己压根就不是块程序员的料,直到现在,这些内容让我惶惶不可终日。


然而,我该退却吗?答案显然是不,无论怎样,我觉得只要我还在努力,我就会在编程这方面取得成就。


int a = 10;

 int b = 20;


 a = b;


 System.out.println(a);//20

 System.out.println(b);//20


这个测试题,显然我又运行了一次,才来保证自己内心确认自己的观点是正确的。


我想说,我认为自己不适合编程,但是我依然坚信我能够在这个行业上取得一些成就,因为我还在努力。


相关文章
|
7月前
|
小程序 程序员 Python
程序员是怎样炼成的
程序员是怎样炼成的
26 1
技术总监亲自上阵,手撸了一门编程语言,同事直呼哇塞
都说程序员的三大浪漫是:操作系统、编译原理、图形学;但图形学确实是特定的专业领域,我们几乎接触不到,所以对我来说换成网络更合适一些,最后再加上一个数据库。 这四项技术如果都能掌握的话,可以在 IT 行业横着走了,加上这几年互联网行业越来越不景气,越底层的技术就越不可能被替代;所以为了给自己的 30+ 危机留点出路,从今年上半年开始我就逐渐开始从头学习编译原理。 功夫不负有心人,经过近一个月的挑灯夜战,每晚都在老婆的催促下才休息,克服了中途好几次想放弃的冲动,终于现在完成了 GScript 一个预览版。 预览版的意思是语法结构与整体设计基本完成,后续更新也不太会改动这部分内容、但还缺少一些易用功
|
JavaScript 前端开发 机器人
梦回战国,领略两千多年前公孙龙如何将面向对象运用得炉火纯青
2200 年前的战国时期,赵国平原君的食客公孙龙有一天骑着白马进城时,被守城的官兵以马不能进城而将其拦下.公孙龙当众即兴演讲,口述"白马非马"一论.守城的官兵被说的一愣一愣的,无法反驳。于是公孙龙就骑着他'不是马的白马'大摇大摆进城去了,这其实就是历史上最为经典的一次面向对象思维的阐述
28579 11
|
Java 程序员 测试技术
程序员的修炼-从优秀到卓越札记:编程之道2
程序员的修炼-从优秀到卓越札记:编程之道2
112 0
人件札记:敞开心扉
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/48294571 前言:最近的招聘并不顺利,你知道,对于初创公司,在尽快时间找到能够并肩作战的朋友多么的重要,然而,这并不容易,作为一个管理者,我内心有一些焦虑,人们都说9月份是招聘旺季,反正我是没有感觉到。
782 0