标签 编程思想 下的文章

写程序实际上就是在不停地与各种bug打交道,不管这个bug是自己制造出来的,还是别人制造出来的。遇到的bug容易解决还是比幸运的,就是怕遇到那些自己从来没有遇到过的,就像是狗咬刺猬,不知道如何下嘴。但是,有一个原则就是我们要始终坚信,那就是办法总比问题多,记得高中数学老师讲过,窍门满地跑,看你找不着。所以,一旦遇到比较难处理的问题,不妨先冷静一下,出去溜达溜达,或者去喝点水休息一下。可能就会变得豁然开朗,茅塞顿开,灵光一现就想到了答案。

当然了,在遇到问题的时候能够及时想到解决办法是要有前提条件的,那就是平时要多学习,多读书。多练习。只有平时的积累达到了一定量的时候,才有可能在用到的时候想得到。

总结:活到老学到老。只要我们活着,就要不停地去学习。

在程序员的职业生涯中,就是要时刻保持怀疑的态度,如果没有经过自己测试过的代码,绝对不能部署到项目上去。举一个简单的例子,在js代码里面有一段这样的代码,当然我说的是理想状态下的情况,是这样的。

var studentList = [{name:"张三",age:5,sex:"男"},{name:"李四",age:6,sex:"男"}];

这个studentList变量是通过调用别人写的函数返回的值,现在,有这么一个需求,需要把数组的第一个元素的年龄修改成6,那要如何修改呢,对于一些编程经验比较少的人来讲,他们可能上来直接写成这样的代码。

studentList[0]['age'] = 6;

这样有错么,如果真实的数组长度大于0,那么这样做的确没有什么问题。如果这个studentList数组的长度等于0,那这样的代码肯定是要报错了。因为我们不能够确定这个数组的长度一定是大于0的,所以,在修改之前必须要判断一下这个数组的长度是否为0.

if(studentList.length>0){
    studentList[0]['age'] = 6;

}

经过这样的一个处理,无论这个数组的长度是否为0,我们的这个代码始终都不会报错了。当然了,这里我只是列举了这么简单的一个小的例子,我的意思就是说,我们在写代码的时候,一定要认真思考,考虑好各种边界条件的限制,不要想当然地认为所有的代码都会朝着理想的方向发展。

总结,不要轻易相信任何人写的代码,哪怕是自己写的代码,在使用之前都要经过自己的严格检测和测试,只有这样做,我们代码的报错的几率才会降低。

作为一名合格的程序员,最关键的思想就是不要想着什么事情都自己来做;在开发一个软件之前,先看看网上其他人有没有做过类似的或者一样的软件。如果能够找到,就直接拿来修改一下,能快速地完成领导布置的工作任务才是最重要的。很多时候,我们想要做的或者没有做的,别人都已经做好了,这样我们只需要把别人的软件拿过来学习一下,看看能不能直接复用,如果不能复用,那就研究一下他们的设计思路是如何实现的。

没事了多浏览一下https://github.com/ 和https://gitee.com/  网站,肯定可以给大家一些启示。

程序员如何做到自我提升,我觉得需要做到以下几点。

一,学无止境

不能一直躺在以前的功劳簿上,认为只要有一个技术掌握到手,只能解决问题就行了。这样的思维方式是比较危险的。因为随着时代在进步,编程技术也在不停地更新迭代。同样的问题用以前的编程技术解决问题需要三天的时间,如果用最新的编程技术解决问题,可能只需要一天就搞定了。如果我们不继续努力学习新的编程知识,被淘汰被替代只是时间问题。

二、精益求精

软件研发不是工厂生产,他们之间有很多的区别。当我们遇到一个问题后,费劲脑筋想出来了一个解决这个问题的办法。但是,我们仍然要时刻想着有没有更好的办法或者更优的解决办法。

三、文档先行

一个软件的完成往往需要一个团队共同开发才能够完成,这个过程中,每一次方案的设计和改进,必须要有文档整理出来,包括需求设计、概要设计、详细设计等等。只有在文档上面把我们的想法清晰地表达出来。才能够让团队里的其他成员理解我们要做的事情。举一个最单的例子,领导说要让我们每人画一只老虎,如果没有详细设计文档,没有效果图,也没有和领导确认,那最后我们每一个人画出来的老虎肯定都不一样,那么,究竟哪个人画出来的老虎才是领导心里想的样子呢?

一个程序员在入门的时候,可能会比较纠结在意某一个具体的语法如何掌握,或者某一个函数应该如何使用。随着编程经验的积累,到最后,我们会发现其实最重要的是编程思想,因为我们会发现,不管是什么样的编程语言,基本上都会包含for循环、while循环等等。即使没有for和while循环,也会有其他的语法结构来实现循环的操作。如何才能够快速地掌握一门语言,首先学习的应该是这门编程语言的设计原理和编程思想,至于具体的语法结构,用到了去查询一下即可。

一,化整为零思想   

一个复杂的问题可以拆分为若干个简单的原子单元,我们只要逐个解决掉这些原子单元的问题,整个复杂的问题也就解决掉了。

 二,中间层思想 

 “计算机科学领域的任何问题都可以通过增加一个简洁的中间层来解决。"Any problem in computer science can be solved by another layer of indirection."这一句话是由著名的计算机科学家David Wheeler说的。

三、通过简单的事务看出最本质的原理。

四,当诸多矛盾出现的时候,抓住一个主要矛盾,其他问题也就迎刃而解了。

五、采用信号和槽机制建立组件之间联系,减少组件之间的依赖关系。

辽公网安备21010602000703号 备案号:冀ICP备2022001219号