首页 > 前端 > 知识 > 程序员怎么提升编程技能,怎样才能提高编程技术

程序员怎么提升编程技能,怎样才能提高编程技术

来源:整理 时间:2024-11-17 01:37:45 编辑:黑码技术 手机版

本文目录一览

1,怎样才能提高编程技术

编程是个靠脑力,更多的人因为这个烦琐的问题而不愿去在它身上浪费时间.程序的语言其实是很有意思的,要学好一种计算机语言需要恒心和毅力.要有没日没夜的思考精神.通过一种类型的题学会解决其它的问题举一反三.程序也就是解决问题的步骤.思考好做事之前的准备工作(其中的条件)这样就可以编程序了.

怎样才能提高编程技术

2,如何提高编程水平大神来

多动手啊,比如LED的点亮,你肯定会吧,最简单的,但是延伸一下,如何达到LED的渐明渐灭,就要用到PWM,在这基础上,有3色LED,如何达到不同颜色之间的逐渐转变,我们公司对面有座彩虹桥,每天晚上都会7中颜色来回逐渐变化,用的就是同样的原理,都要用到PWN,我前段时间做过一个控制电机旋转速率的程序,主要也用到PWM,学以致用,学到的东西,是为了用,从用中,才能提高
多看看有关这方面的知识

如何提高编程水平大神来

3,如何提升自己的java编程能力

1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。   2. 丰富的想象力。不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外,多涉及其他的学科,比如天文、物理、数学等等。  3. 最简单的是最好的。这也许是所有科学都遵循的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。  4. 不钻牛角尖。当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,而且是那种极暴力的打斗类游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。  5. 对答案的渴求。人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。   6. 多与别人交流。三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多和同事或从事这行的朋友同学交流,看看别人对同一问题的看法,会给你很大的启发。  7. 良好的编程风格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。   8. 韧性和毅力。这也许是"高手"和一般程序员最大的区别。A good programming is 99% sweat and 1% coffee。高手们并不是天才,他们是在无数个日日夜夜中磨练出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。所以抄写也是一种加强记忆的良好方法!
做一些小的企业级项目。,java都是企业级开发的,。不做小的应用,手机开发用的只有基础java看j2me的书籍就行了
万事都是熟能生巧。java编程也不例外,首先从基础做起,夯实基础,学会建立的逻辑思维,然后做一些小程序什么的,层层递进

如何提升自己的java编程能力

4,怎样有效的提高编程能力

怎样学编程nbsp;1.明确学习目的nbsp;学习编程对大多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能nbsp;锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。nbsp;2.打好基础nbsp;学编程要具备一定的基础,总结之有以下几方面:nbsp;(1)数学基础nbsp;从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。nbsp;(2)逻辑思维能力的培养nbsp;学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。nbsp;(3)选择一种合适的入门语言nbsp;面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类:nbsp;1)本地开发nbsp;应用软件开发的工具有:Visualnbsp;Basicnbsp;、Delphinbsp;、VC++nbsp;(nbsp;C++nbsp;Buildernbsp;)nbsp;等;数据库开发工具有:Visualnbsp;Foxpronbsp;、Oraclenbsp;Developernbsp;、Powernbsp;Buildernbsp;等。nbsp;2)跨平台开发nbsp;开发工具如nbsp;Javanbsp;等。nbsp;3)网络开发nbsp;对客户端开发工具如:Javanbsp;Scriptnbsp;等;对服务器开发工具如:PHPnbsp;、ASPnbsp;、JSPnbsp;、ISAPInbsp;、NSAPInbsp;、CGInbsp;等。nbsp;以上不同的环境下几种开发工具中nbsp;VBnbsp;法简单并容易理解,界面设计是可设化的,易学、易用。选nbsp;VBnbsp;作为入门的方向对出学者是较为适合的。nbsp;3.nbsp;注意理解一些重要概念nbsp;一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。nbsp;4.掌握编程思想nbsp;学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习nbsp;VCnbsp;就要学习nbsp;Windowsnbsp;的内在机理、什么是线程......;学习nbsp;COMnbsp;就要知道nbsp;VTALBEnbsp;、类厂、接口、idl......,关键是学一种思想,有了思想,那么我们就可以触类旁通。nbsp;5.多实践、多交流nbsp;掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。nbsp;6.养成良好的编程习惯nbsp;编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。nbsp;7.上网学编程nbsp;在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载。例如网站“编程课堂”(http://best.yeah.net/)主要以nbsp;VBnbsp;和nbsp;Delph;教学和交流为主,提供大量实用技巧;网站“现在时编程学园”(http://pshool.yeah.net/)是专门介绍C、VC、VB、Delphinbsp;等的综合编程网站;网站“

5,如何提升程序员的代码编写能力

一、先列三个常见的开发场景:1、拿到一个模块详细设计文档,大部分程序员的通常做法就是开始搭建界面代码,然后从第一个按钮点击事件或页面Load事件开始写第一行业务代码。写的差不多了,就运行一下,发现哪里不是自己想的那样,就改改,直到改到是自己预想的那样。2、做完了一个功能模块或几块相关联的功能模块,输入111asd,发现新建正常、保存正常,就提交给测试人员。测试员用测试用数据、测试场景用例来测试,发现有问题,就登记bug。对于严重的影响下一步测试的BUG,测试员就用内部IM通知这个开发人员。对于不影响继续往下测试的BUG,测试员就登记下来,等程序员有空时处理。3、程序员一般工作不希望大家打扰,所以开发起来就是开发。等手头开发告一段落,就看看BUG库。发现有与自己有关的BUG,就从第一个BUG开始看起。就开始通过IM和测试员掰扯起来(这不是个BUG啊、业务逻辑不是你想的那样啊、我这里不能重现啊、你给的信息描述不清晰啊),于是IM几来几往,甚至跑过去当面交流一番,甚至会拉扯上产品经理一起讨论,更甚者需要项目经理或产品经理发起一个会议来集体讨论一下这是不是很熟悉呢?这就是大部分程序员开发的三个步骤:写代码、自测、修复BUG。二、说好的代码设计、代码测试呢?代码设计?那不是都有开发平台么,已经固化了啊。那不是维护旧功能做完善修改呢么,又不是写新代码,只能在现有代码基础上修改啊,你又不能大幅重构。代码测试?你丫需求讨论期、产品设计期、设计评审期那么长,都把研发项目时间占光了,就留下2个星期让我们写代码,我们哪里有时间搞那么深的测试。还想让我们搞结对编程?还想让我们搞测试驱动开发?而且你看测试,什么功能测试、集成测试、性能测试、安全测试、安装部署测试、升级测试、迁移测试、UAT测试,一大堆测试,测试也需要很多时间。一个项目,需求讨论、产品范围规划与评审、产品设计与设计评审占了一个半月,开发+自测就一个月,测试占了一个半月,这就4个月了啊。三、为啥程序员写代码总是写写测测?刚才大家也都看到了,大部分程序员都是从界面代码开始写起,而且写一写,就运行一下看看。为什么会是这种开发方式?那是因为大部分程序员缺乏在脑子中的整体建模能力。只能做出来一点,真实的感觉一下,然后再往下。有些是产品经理的上游就有问题,没给出业务流程图(因为产品经理也没做过业务),也没画清楚产品功能操作流程图。为啥没给出业务流程图?因为产品经理不熟悉业务,另外,产品经理也没有流程建模能力啊。为啥没画清楚产品功能操作流程图啊?因为不会清晰表达流程啊。很多产品经理、程序员,都缺乏分类、分层、相关、先后能力,更别说总结、洞察能力。这是基本训练,是一个做事头脑清醒的人必备的技能,这不是一个程序员或产品经理或测试员的特定技能要求。我经常看书就梳理书的脉络,每看一本就写一篇总结。我过去闲扯淡还梳理过水浒传、红楼梦的人物关系图呢,其实就在事事上训练自己的关联性、层次性、洞察性。我经常面试一个人时,我会问这样的问题:“你把我刚才说的话复述一遍,另外你再回答一下我为什么会这样?”,其实,我就在看一个人的细心记忆、完整梳理、重现能力,我也在看一个人的梳理、总结、洞察能力。我个人写代码就喜欢先理解业务流,然后理解数据表关系,然后理解产品功能操作流,大致对功能为何这样设计、功能这样操作会取什么表、插入或更新哪些表,哪些表的状态字段是关键。然后我写代码的时候,就根据我所理解的业务流、功能操作流、数据输入输出流,定义函数,定义函数的输入与输出。然后,我会给函数的输入值,赋上一些固定值,跑下来看看能否跑通这几个关联函数,看看还需要怎样的新增函数,或者看看函数的输入输出参数是否满足跑通。剩下的事,就是我填肉写详细逻辑代码了。当然,大部分人没我这样的逻辑建模能力。怎么阅读理解也想象不出来,也没法定义函数。毕竟有逻辑建模能力的程序员都很少,100个人里有10个,已经是求爷爷告奶奶好幸运了。那怎么办呢?我建议是分离分工配合,这就是现实中没办法的办法。让有逻辑建模能力的人来设计函数框架、来设计工具来设计代码模板,然后让没有逻辑建模能力的人来填肉写详细逻辑代码。我们可以先从最紧要的模块开始这么做。不紧要的模块,还让它放任自流,让熟练手程序员继续涂抹。我曾经还让有头脑的程序员做榜样,给大家分享他是怎么规划函数的,怎么做维护性代码的代码结构改善的。但是发现效果并不佳,其他人并没有因此能做代码设计。可能逻辑建模能力是个人的基本素质,是从小到大训练成型的,不是你一个大学已经几年的人能够短时间内可以训练的。所以啊,还是让能走的人先走,让从最紧要的模块开始这么做。不必担心这样做后,因为过去一件事被分工(一个做代码框架一个填肉)成两个人做了会降低工作效率。我们很多的工作效率低就是因为半瓶子醋搞出来的,来回反复修改。真是应了刘德华在电影里说的那句话:说你又不听,听又听不懂,听懂了又不做,做又做不好,做不好还不服气。四、为什么大部分程序员不做代码测试或白盒测试或单元测试呢?还是因为没有代码设计。因为没有函数啊。所以,一个按钮功能有多复杂,代码就有多长。我见过2000行的函数,我也见过1000多行的存储过程和视图SQL。怎么做白盒测试啊,这些代码都粘在一起呢,要测,就得从头到尾都得测。所以啊,先学会设计函数,先写好函数,这就求爷爷告奶奶了。很多开发了5年的熟练手程序员,可能都未必会写函数。函数的输入输出值就很有讲究。很多人都写死了,随着版本迭代,发现过去定义的函数参数不够用了,于是就新增了一个参数。然后,相关性异常就爆发了,其他关联的地方忘改了,到底哪些有关联,怎么查啊,本系统没有,没准其他系统就调用你了,你根本不知道哪个神经人曾经COPY过你的代码修吧修吧就改成了他的功能呢,而且里面的很多代码他看不懂也不敢删,只要他实现的功能正常了他也不管了。于是,你改了你这个函数,他的系统就莫名出错了。所以,我一般会定义几个对象来做参数。另外,我也很注重函数的日志、函数的异常保护、异常抛出、异常返回。另外,我也很注重参数输入值的合法性校验。所以啊,应该开发Leader们先制定函数编写规范最佳实践,输入输出参数怎么定义比较好,函数的返回值如何定义比较好,函数的日志记录应该怎么写比较好,函数的异常保护、异常抛出、异常返回如何写比较好。先教会一般程序员,先从会写函数开始啊。当然,你光有一份规范,程序员们还是不理解、不实际应用啊。所以,还得Leader们做好典型的代码模板,里面是符合函数规范的代码框架,只有这样,一般程序员们才会照猫画虎适应了函数设计的编程习惯。所以啊,我专门重新定义了leader的明确职责,其中第一个重要职责就是:负责工具/框架/模板/规范的制定,并且负责推广且普及应用落地。你不明确定义Leader的这个重要职责,你不对这个职责做明确的KPI考核,谁尿你啊。你以为好的工具/框架/模板/规范是靠人们的热情、自发产生的么?我们还没有那么自觉高尚啊。五、为什么大部分程序员不写注释啊?我经常说一句话,千万别多写注释。为啥?因为我们经常遇到的问题不是没有注释,而是更糟的是,注释和事实代码逻辑是不相符的。这就出现常见问题了:残存下来的设计文档是一个逻辑、注释是一个逻辑说明、真实代码逻辑又是一个,钟表多了,你也不知道正确时间了。所以啊,产品文档、注释、真实代码,三者总是很难一致同步。我为了几百人研发团队能做到这个同步花了大量心血和办法,但我最终也没解决了这个问题,还把Leader们、总监们、我都搞的精疲力尽。索性回归到一切一切的本源,代码,就是程序员的唯一产出,是最有效的产出。那么,让代码写的不用注释也能看懂,咱得奔着这个目的走啊。为啥看不懂,不就是意大利面条式代码么,又长又互相交杂。OK,我就规定了,每个函数不能超过50行。用这一个简单规定和静态代码检查插件,来逼迫大家尝试着写函数。有的函数属于流程函数,是串起其他函数的,有的函数就是详细实现函数,实现一个且唯一一个明确作用的。有了流程函数和功能函数,而且每个函数不超过50行,这就比过去容易看懂了。六、为什么大部分程序员不抽象公共函数啊?我经常说一句话:千万别抽象公共函数啊。为啥?因为大部分程序员缺乏抽象洞察能力。特别是有些积极热情有余、爱学习爱看书、半瓶子醋晃悠的二杆子,看了几本UML、重构、设计模式、整洁代码之道,就跃跃欲试了,还真敢给你抽象公共函数了。一开始,他觉得80%相似,20%不相似,于是在公共函数里面简单写几个if..else做个区隔就可以。没想到,越随着版本迭代,这些功能渐渐越变越不一样了,但是这个代码已经几经人手了,而且这是一个公共函数,谁也不知道牵扯多少,所以谁也不敢大改,发现问题了就加一个if..else判断。没想到啊没想到,这个本来当初公共的函数,现在变成了系统最大的毒瘤,最复杂的地方,谁也不敢动,除非实在万不得已,手起刀落。所以,我平时告诫程序员,纯技术的、纯通用的,你们可以尝试搞搞抽象公共函数,对于业务的,你们还是简单粗暴的根据Leader们做的代码模板代码框架,乖乖的复制、修改、填肉吧。你们啊,先从做模板做代码片段开始吧,咱们放到咱们内部代码片段开源库里,看谁的代码片段被别人复制的多,说明你的代码抽象设计能力越好了。那时候,我就大胆放心让你撒丫子跑了。在没有学会跑之前,给老子乖乖的复制、修改、填肉吧。
文章TAG:程序员怎么提升编程技能怎样才能提高编程技术

最近更新

  • 程序烧写后 重启又没了程序烧写后 重启又没了

    烧写程序FLASH掉线后恢复正常。在c8051f060烧写-2/之后,...昨天放了一个数码管的程序烧写之后,华为手机反复重启,使用STCISP软件,在CCS程序中的DSP开发板重启无法运行程序运行后,会自动执行.....

    知识 日期:2024-11-16

  • 数据库自学要看哪些书,请推荐数据库入门的书数据库自学要看哪些书,请推荐数据库入门的书

    请推荐数据库入门的书2,学习数据库要看哪些书籍3,数据库入门书籍推荐4,学数据库看什么书好5,刚开始学习数据库知识应该看哪些书1,请推荐数据库入门的书《数据库系统概论》这本书学习数据库.....

    知识 日期:2024-11-16

  • 动态域名程序,tplink动态域名怎么用动态域名程序,tplink动态域名怎么用

    公司在员工电脑上安装了一台花生壳动态域名this程序监控电脑,我用了每一步动态域名分析。Ddns是DynamicDomainNameserver动态域名Resolution的缩写,将用户的动态ip地址映射为固定的域名R.....

    知识 日期:2024-11-16

  • 二手房程序源码二手房程序源码

    购买二手房有哪些程序?二手房转账程序什么事?二手房网签详情是什么程序?二手房的交易流程和-2二手房的交易流程如下:1.到市房地产交易中心办理鉴定手续,将贷款首付款存入房产局指定账户。.....

    知识 日期:2024-11-16

  • 数据库锁协议有哪些,试述三级封锁协议各解决了并发调度中的什么问题数据库锁协议有哪些,试述三级封锁协议各解决了并发调度中的什么问题

    试述三级封锁协议各解决了并发调度中的什么问题2,分别说明数据库并发控制中所使用的三级封锁协议的内容3,数据库中三级封锁协议与两段锁协议有区别吗4,MySQL数据库表锁定的几种方法实现5,M.....

    知识 日期:2024-11-16

  • unity3d gui插件,下载了unity3D插件却玩不了unity3d gui插件,下载了unity3D插件却玩不了

    unity3dGUI如何在特定时间显示和隐藏绘图?Unity3D,其编辑器运行在Windows和MacOSX下,可以将游戏发布到Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windowsphone8和Android平台。Unity.....

    知识 日期:2024-11-16

  • 哪些学校有wos数据库,哪些大学有资料库哪些学校有wos数据库,哪些大学有资料库

    哪些大学有资料库2,请问武汉的高校中哪所大学的图书馆购买了WIND万得数据库3,哪些学校有数据库方向4,中国哪些高校网上图书馆有BIOSISPreviews电子资源中科大有吗5,我国有哪些高校有自建的.....

    知识 日期:2024-11-16

  • 手机透明小插件,任务栏透明插件手机透明小插件,任务栏透明插件

    手机自带透明weather插件、Android手机中国日历插件如何调整为-1?三星7106手机附带的天气小部件不能更改为透明。这是什么背景-1插件?三星7106手机如何将天气widget更改为透明根据您的描.....

    知识 日期:2024-11-16