首页 > 编程语言 >一位大咖写给软件编程新手的建议 - 经验谈

一位大咖写给软件编程新手的建议 - 经验谈

时间:2023-07-29 18:11:56浏览次数:45  
标签:编码 思维 经验谈 代码 编程 源码 模块 新手

  今天逛微信公众号的时候看到一个文,关于给软件新手建议的事情。看了之后有一点想法,然后就思考了下,觉得有必要记录一下自己的建议,所以就有了此博文。

  这里提一下,笔者自己非计算机专业,但是在学校的时候就对编程感兴趣,毕业后也从事编程工作,累积了一定的经验。按笔者的理解,不管你是否科班出身,需要从入门到精通开始进行学习并且进行实践,在实践中去积累和总结经验,这样才能够提高自己的编程认知和思维方式。此博文只是笔者现在的一些建议,后面如果有新的亮点那再补充完善。

  1、  理解需求;

  编码之前必须先理解需求,知道你需要做什么,然后再开始编程。这一点很重要,就象你做题目一样,先理解了题目的意思,才能回答问题。需求方面,如果有不明白的,能够咨询项目经理,把需求弄明白,然后才让架构师啥的把架构搭建起来,接着才能够进行实际功能模块的编码工作。

  2、  多阅读相关编程语言的书籍;

  阅读书籍是挺好的一种提高编程思想和技术的方式,比阅读源码的效果更好。一般建议先阅读从入门到精通系列,然后到实际功能模块,才到设计模式,到架构方面的书籍。逐步提高该编程语言的实际编程技巧和经验。但是还是得配合其它项目源码的实际来提高水平。

  3、  多阅读开源软件、框架、类库的源码;

  阅读源码笔者认为是一种快乐的过程,能够从中学习到别人的经验,也是提高编程思想、水平和经验的一种必要的方式。阅读书籍能够得到思想,而阅读源码就是能够得到实际的经验了。建议阅读该编程语言中的架构及大型的项目源码,从而提高编程的思维,从高维度来对自己的编程水平进行提高。

  4、  适当的编写代码注释;

  编写注释笔者认为是适当即可,就是说对于一些复杂及对其它编程模块进行编写注释即可。编写注释也是一种好的习惯,主要是为了在以后回顾自己的代码的时候能够有提高,这时候还能够应用新的编程思路去对该业务代码进行重构而不迷糊,适当的注释对于理解和回顾以前的业务代码有很大和必要的帮助。

  5、  有空的时候回顾以前编写的代码;

  在阅读书籍和其它项目的源码之后,也就是说自己的编程思想提高之后,需要对自己以前的代码进行重构,能够将当前的编程水平和经验的内容进行记录及得到实践,这时候的重构,将以前的代码得到了思维的提高,也是很愉快的过程,就与自己的思维方式得到提高的那种喜悦心情一样,对自己的心情也是有愉悦的帮助。

  6、  编写测试代码;

说实话,笔者的测试代码写的不多,但是建议对一些重要的业务模块进行编写测试代码,就与理解业务一样,以后该模块的代码如果有变动,那直接执行该测试代码就能够直接将该模块代码的一些问题进行基本的测试,保证基本的功能不出问题。而且,如果对一些模块代码进行编写测试代码,也是一个使用该模块的过程,也算是对该模块实际应用的过程,也是一个例子,这样以后使用该模块的时候直接将测试代码里的应用放到其它项目中即可,保证了该模块不出问题,而且也是稳定的代码。

  7、  重构代码;

  笔者对自己的代码,后面阅读书籍和其它源码得到思维提高之后,会对该模块的代码进行重构,将该模块的编码水平和实际的代码进行修改,能够提高该模块的架构和编码水平和代码质量,也是提高的一个过程,同时该功能模块的功能和质量都得到了提高,也更加的简洁、优雅和健壮安全。所以,笔者强烈建议读者在有空的时候对自己以前的代码进行重构,也是一个思维提高的总结,实际应用的一个总结和应用。

  8、  设计模式;

  对于编码,一定要学习设计模式。其是软件大师对于实际的应用中的经验总结,也是非常重要的应用的实践经验,更加的编码和功能应用的过程。也就是说在实际功能模块开发中,碰到与设计模式一致的例子,直接就应用该模式即可,前人的经验都给我们总结好了,代码和模块也更加的健壮,所以学好设计模式对于我们的架构设计和编程思维的提高有很大的帮助。

  9、  整理写过的代码,形成例子;

  与上面的重构和测试类似,笔者认为需要将自己的模块代码整理出来,形成例子,相当于对该代码模块进行测试类似,能够帮助读者在以后的编码应用中直接应用该例子,复用该模块代码即可,更加的方面和方便。

  10、              提高编程思维;

  从需求到设计是一个思维方式,从设计到编码是一个思维方式。这里的需求到设计,笔者认为是从一个架构方面出发的,比如我们使用PowerDesign工具设计数据库,使用UML设计软件的类库和组件等,需要的是一个从文字需求到图形和逻辑设计的过程。而从设计到编码,笔者认为是一个从设计图纸到编码实现的过程,比如我们根据UML类图去实现一个类代码,根据时序图去实现从一个模块到另一个模块的调用过程等,这个也是一个思维转换的另一个过程。

  现在的编程主要是面向过程和面向对象两种,面向对象是主要的编码方向,里面的类库也是面向过程的方式。新的编程语言基本上都是基于面向对象的,无论是哪个类都是在命名空间里,都是一个个的类堆积起来的,而类是面向对象的对象模板,已经是面向对象的编码方式了。

  提高编程思维,新手们要把自己的维度提高,比如站在架构师的高度去思考编码方式,架构师的思维,已经在底层的编码上提高了,需要新手们深入理解设计模式,从高的思维层次去要求自己,从而提高自己的思维方式,不知不觉中也能够提高纬度,成为高级的程序员和架构师了,对于自己的成长有好处,对于自己的职业生涯也奠定了基础。

  11、              前端的设计;

  软件前端的设计,从UI出发,到功能模块的设计,建议将自己放到产品经理的层面去进行设计,同时需要参考操作系统和其它软件的UI和模块设计,将当前的设计界面与当前的市场中的其它UI设计结合起来,既能够让使用者更快的熟悉和使用该软件,同时软件前端的功能设计也能够更好的将设计者的要求结合起来,将产品的实际功能更好的呈现出来。

  12、              后端的开发;

  软件后端更好的是从架构出发,然后到功能模块,到实际的功能点的编码,这是一个过程。建议读者将自己放在架构师的思维度上去进行开发,同时结合自己以前的例子进行编码,这样的模块才能够进行其它项目的复用。而且性能、安全性方面也需要进行考虑。

  13、              数据库的调优;

  数据库的调优是一个过程,笔者现在的理解,就是将该SQL语句进行重构,将表的索引充分利用起来,这样SQL语句的效率就体现出来了。从基本的多表查询到临时表等等,最终的要求,笔者认为就是将SQL语句里的查询改成用到表索引就行了。

 

  上面是笔者对于编程的一些思考,也是对新手的一些建议,希望能够对新手们有帮助。强烈建议新手多阅读书籍和源码,从别人的经验里去学习和积累,形成自己的经验和方法,就跟在学校里的学习一样,都需要自己的理解的基础上去总结,有自己的学习和实践的方法,这样才能够在实际的工作中事半功倍,提高自己的工作效率,更好的指导自己的学习和工作经验。

 

 

笔者:刘恒辉

2023年7月23日星期日

标签:编码,思维,经验谈,代码,编程,源码,模块,新手
From: https://www.cnblogs.com/lzhdim/p/17590227.html

相关文章

  • 面向对象编程的 SOLID 原则 - 里氏替换原则
    里氏替换原则里氏替换原则描述的是子类应该能替换为它的基类。意思是,给定classB是classA的子类,在预期传入classA的对象的任何方法传入classB的对象,方法都不应该有异常。这是一个预期的行为,因为继承假定子类继承了父类的一切。子类可以扩展行为但不会收窄。因此,当......
  • 面向对象编程的 SOLID 原则 - 依赖倒置原则
    依赖倒置原则依赖倒置原则描述的是我们的class应该依赖接口和抽象类而不是具体的类和函数。在这篇文章(2000)里,Bob大叔如下总结该原则:“如果OCP声明了OO体系结构的目标,那么DIP则声明了主要机制”。这两个原则的确息息相关,我们在讨论开闭原则之前也要用到这一模式。......
  • 面向对象编程的 SOLID 原则 - 接口隔离原则
    接口隔离原则隔离意味着保持独立,接口隔离原则是关于接口的独立。该原则描述了很多客户端特定的接口优于一个多用途接口。客户端不应该强制实现他们不需要的函数。这是一个简单的原则,很好理解和实践,直接看例子。publicinterfaceParkingLot{ voidparkCar(); //Decrease......
  • 面向对象编程的 SOLID 原则
    SOLID原则是面向对象class设计的五条原则。他们是设计class结构时应该遵守的准则和最佳实践。通常,这五个原则可以帮助我们了解设计模式和软件架构。这是每个开发人员都应该了解的主题。这篇文章介绍了在项目中使用SOLID原则的细节。首先我们先看一下SOLID原则的历史。......
  • Python面向对象编程-学习笔记(二)
    5.类的继承classEmployee:raise_amount=1.04def__init__(self,first,last,pay):self.first=firstself.last=lastself.pay=payself.email=first+'.'+last+'@company.com'cla......
  • 面向对象编程的 SOLID 原则 - 开闭原则
    开闭原则开闭原则要求“class应该对扩展开放对修改关闭”。修改意味着修改存在class的代码,扩展意味着添加新的功能。这个原则想要表达的是:我们应该能在不动class已经存在代码的前提下添加新的功能。这是因为当我们修改存在的代码时,我们就面临着创建潜在bug的风险。因此,......
  • 什么是编程领域的 DSL - Domain Specific Language
    在编程领域中,DomainSpecificLanguage(DSL)是一种特定于特定问题领域的计算机语言,设计用于解决该领域的特定类型的问题。DSL的设计目标通常包括提高生产力,使非程序员可以使用,以及提供特定类型的语言构造。DSL与通用编程语言(GPL)相对,GPL如Python、Java等,可以用于解决各种类型的问题。......
  • Python下载-2023最新版-编程软件 软件推荐
    《Python电脑版》为你提供便捷的编程服务操作,通过软件中的功能来进行快速的编程操作,Python电脑版带来更好的代码编写操作,并且可以体验到快速的代码运行服务,可以根据自己的需求来进行代码的编写操作。软件地址:看置顶贴python电脑版免费版亮点1、文档Python还带有完整的文档,既集成到......
  • 多线程编程
    一、线程,进程介绍线程:是操作系统中独立运行的最小单位。每个线程都有自己的执行路径、程序计数器、堆栈和一组寄存器。线程共享进程的资源,如内存和文件描述符,可以并发执行,从而提高程序的并发性和响应性。进程:是操作系统中运行的一个程序实例。它拥有独立的内存空间和系统资源,如......
  • 算法编程中的Word 四兄弟 Word Break , Word Ladder, Word Search, Word Pattern
    Word四兄弟WordBreak,WordLadder,WordSearch,WordPattern,太容易出现了,针对性分析下。  829·字模式II算法困难通过率47% 描述给定一个pattern和一个字符串str,查找str是否遵循相同的模式。这里遵循的意思是一个完整的匹配,在一个字母的模式和一个非空的单词str之间......