软件开发者的最佳实践

近期在一个站点上看到一篇写关于软件开发者应该有的几项实践,感觉写的很的好。以下将列举下文章中提到的几个方面。

首先文章中提出,软件开发者须要不断的练习,什么是练习,为什么要练习,练习意味着什么?文章中给出了非常好的解读。练习是一种习惯,练习是一个过程,练习并不意味着记住,练习须要不断的实践,练习须要专心致志的付出。射击运动员须要不断的练习才干射中很多其它的分数,开车也须要不断的练习才干成为driver,写字须要不断的练习才干写出好的字,然后才有可能成为书法家。

Shooting, Driving, Writing

Best Practice 1- Keep Reading Existing Software SourceCode

大家会常常读好的开源软件的代码吗?或许会被觉得是一件非常枯燥的事情。小说家之所以成为小说家,是经过阅读成千上百优秀的小说才成为小说家,所以要写出优秀的代码也须要阅读成千上万行的代码。

Best Practice 2 - Complete your documents before next step

在开发大型的软件中,分析文档很重要,仅仅有把要分析的东西都弄清楚了,才干进行下一步的开发。在开发之前,我们须要问自己以下这几个问题:

  • 1.软件的需求描写叙述在哪里?
  • 2.软件设计文档在哪里?
  • 3.是否对全部的如果和限制条件描写叙述清楚了?
  • 4.你是否评审全然部的文档?

假设你对上面的问题回答都是肯定的,你能够进行下一步的操作,Coding,很多公司都有一套完整的开发流程来保证各个环节的正确实施。

Best Practice 3 - Follow the defined standards, don‘tcreate it

在软件开发过程中,须要遵循已有的标准,不要随便地创造自己的风格。在这点上,很多公司有自己的编程标准,这些标准可能是业界公认的,也有可能是前面开发者经过好多年总结的比較好的实践。有一句话说的非常好,追随前人的脚印,往往能够少走一些弯路。这些标准可能包含以下的几种:

文件命名规范,函数和模块命名规范,变量命名规范,可读性及其安全性规范等。

干净、整齐一致、美丽是源码可读性和可理解很重要的特征,我们要记住一句话:Source code is your baby.

Best Practice 4 - Code should be written to be reviewed.

可读性往往是源程序好坏最直观的体现。在我们写代码的时候,我们要时刻记住自己写的代码总会有人来评审,将面临的各种缺陷,比方:不好的编码风格,没有遵循标准,函数定义和凝视不规范,可读性差,打开的文件没有关闭,分配的内存没有释放,太多的全局变量,太多的硬编码,太多反复代码等。在编码的时候要时刻记住上面的问题,当自己完毕编码时,至少自己须要检查一遍,这往往能降低90%的错误。

我很喜欢一句话:Accept criticism but don‘t criticize!当自己写的代码比較烂的时候,我们要接受同行评审中指出的问题,别人给自己指出来并不意味着批评,而是更好的改进自己,再后面少犯错误。事实上Review也是开发过程中一个至关重要的环节。作为一个开发人员,也须要站在測试者的角度去看待问题,这样就能够降低错误的发生。

Best Practice 5 - Testing to be followed like a religion.

每次写完代码都须要測试,无论是有经验的开发人员还是新手,每改动一处代码须要经过測试验证。我们必须做到:

  • 时间再紧急对于測试也不要妥协
  • 改动一行凝视得測试
  • 改动一个变量名得測试。
  • 假设你认为没有必要,那是很危急的。

Best Practice 6 - Keep your Code and Documents Safely.

这点主要是防止代码和文档丢失,须要我们养成每天备份文档的习惯。或许大家都认为比較繁琐,建议能够使用日期、时间、版本来备份。

Best Practice 7 - Keep your Tools & Techniques Handy

俗话说的好,工欲善其事,必先利其器。相同对于开发者来说,好的工具和技巧能提高我们的效率还能降低出错的几率。比方:

  • 1.用一个好的编辑工具来编写和改动代码
  • 2.用一个好的调试器来调试代码
  • 3.用一个内存监视器来动态分配的内存
  • 4.用WinSCP or FileZilla 来传输文件。

Best Practice 8 -Leave the ego behind, Be eager to learn.

这一点我认为也比較重要,我们常常从书本和网上获取知识,可是对于IT,没有不论什么一个人能掌握不论什么一个领域的全部的知识,每天我们将面临着各种各样的问题。为了让自己不落后须要常常去学习。

New technologies are coming everyday

或许成功的道路上没有捷径,须要百倍的努力才有可能成功。今天你付出了一点,也就离成功的道路近一点。

时间: 2024-09-30 03:32:04

软件开发者的最佳实践的相关文章

优云软件数据专家最佳实践:数据挖掘与运维分析

这份研究报告,作者是优云软件数据专家陈是维,在耗时1年时间制作的一份最佳实践,今天和大家分享下,关于<数据采矿和运维分析>,共同探讨~ 数据挖掘(Data Mining)是从大量数据中提取或"挖掘"知识. 广义数据挖掘:数据挖掘是从存放在数据库.数据仓库或其它信息库中的大量数据挖掘有趣知识的过程. 数据挖掘技术侧重:1)概率与数理统计 2)数据库技术 3)人工智能技术 4)机器学习. 1. 数据清理:消除噪音或不一致数据 2. 数据集成:多种数据源可以组合在一起 3. 数据

抵御GandCrab勒索软件的十个最佳实践

勒索软件软件越来越盛行,特别是在2017年的WannaCry之后,勒索软件已经成为让企业忧心的主要网络威胁.随着勒索软件的演进,企业需要不断关注他们的网络生态,特别是近来勒索软件开始出现了不同的变体.GandCrab勒索软件就是这样一种威胁,***不断对它进行开发来危害商业环境.GandCrab从今年1月开始在企业中引发混乱,从那以后,我们已经看到了多个版本的GandCrab,最近的一个版本是GandCrab 5.2. 什么是GandCrab?和所有勒索软件一样,GandCrab会对数据进行加密

反软件盗版的最佳实践

网络盗版是产业挥之不去的"阴霾",极大制约了数字内容产业生态良性发展. 对于程序员来说,自己辛辛苦苦码出来的一个盈利性程序,在放出不到一个月后就出现盗版,不管是从心态还是从经济上,都有不同层次的影响.于是大家纷纷想怎么反软件盗版. 在国内许多知名论坛上找了很多帖子,许多大神给出了这样的答案. 代码混淆 给源代码进行加密操作.及时是将文件反编译成原始吧编程语言,混乱的源代码也会让想盗版的人头疼不已. 程序运行在特定的CPU上 也就是说每次使用程序都会监测cpu号,将CPU号或者注册号用自

敏捷遇上UML-需求分析及软件设计最佳实践(郑州站 2014-6-7)

邀请函:尊敬的阁下:我们将在郑州为您奉献高端知识大餐,当敏捷遇上UML,会发生怎样的化学作用呢?首席专家张老师将会为您分享需求分析及软件设计方面的最佳实践,帮助您掌握敏捷.UML及两者相结合的实战技巧.时间:2014.06.07(周六),上午9:00-12:00,下午14:00-17:30(时长6.5小时)地点:郑州市畜牧路16号牧业经济学院实验楼B座2518(可乘坐B11.909.962.47路等公交车到老长途汽车北站下车畜牧路向东300米路北)软件知识原创基地www.umlonline.or

17条 Swift 最佳实践规范

本文由CocoaChina译者小袋子(博客)翻译自schwa的github主页原文作者:schwa 这是一篇 Swift 软件开发的最佳实践教程. 前言 这篇文章是我根据在 SwiftGraphics 工作时的一系列笔记整理出来的.文中大多数建议是经过深思熟虑的,但仍可以有其他类似的解决方法.因此,如果其他方案是有意义的,这些方案会被添加上去. 这个最佳实践不是强加或者推荐 Swift 在程序.面向对象或者函数风格上的应用.更重要的是,这里要讲述的是务实的方法.如有需要的话,某些建议可能会集中在

Swift 最佳实践(未完待续)

使用 Swift 进行软件开发的最佳实践. 本文档的英文版在这里,感谢Swift社区(频道为 #bestpractices )为我们提供如此优质的文档. 前言 这个文档的产生得益于我在创作Swift Graphics时做的一系列的手记.本指南中的大部分建议也考量了是否可以为其它的观点和论点.当然,感觉其他的方法必须存在时除外. 这些最佳实践没有规定或推荐 Swift 是否应该在一个程序上以面向对象的或者函数式的方式来使用. 本文档更多的是关注 Swift 语言及其标准库.也就是说,以一个纯粹的

&lt;&lt;软件需求最佳实践------SERU过程框架原理与应用&gt;&gt;读书笔记一(全书浅览)

这一学期上了软件需求分析这门课,在老师的建议下自己选择了这本需求最佳实践作为精读课本.大概的阅览了整本书后发现,作者引用各种实例与隐喻意图让读者更好的理解这本书的内容,而且每一部分内容都有一条精炼的SERU诫语来作为一个小结.在我看来,这本书确实对于我们软件需求分析的初学者来说确实是不可多得的“良本“. 全书分为三大部分,其中第一部分:“原理.模型与误区“涵盖前三章的内容.这部分作者主要分析并提及了影响软件项目实施,并导致软件出现“危机”的根本原因,即需求分析阶段. 主要是让我们认识到软件需求在

[活动]开发者最佳实践日·第11期-HTML5与Native App应用技术实战

在移动互联网时代大放异彩的不止原生应用,最近一段时间HTML5火热发展一片繁荣,从大家认为HTML标准不需要升级到HTML5正式定稿.随着硬件的升级.OS厂商策略变化,软件技术的成熟,用户需求的不断推动,针对HTML5与Native App 孰胜孰劣之争也由此拉开. 产业在同步演进,作为开发者应该选用什么样的应用以适应自己的产品更快速地传播与迭代.如何实现APP构建和发布的极致效率?如何做跨平台设计?如何快速地创建HTML5类型的移动游戏? 开发者最佳实践日第11期,七牛云存储邀请了成都当地明星

彼之蜜糖,吾之砒霜——聊聊软件开发中的最佳实践

"描述一个事物,唯有一个名词定义它的概念,唯有一个动词揭露它的行为,唯有一个形容词表现它的特征.要做的,就是用心去寻找那个名词.那个动词.那个形容词--" -- 福楼拜 (Gustave Flaubert) 我想讲个故事. 很久很久以前(一般讲故事都是这样开头吧), 两个老工程师在一起聊天,谈各自生涯中最自豪的工程.其中一个先讲述了他的杰作: " 我们建造的桥,横跨一个峡谷,峡谷很宽很深.我们花了两年时间研究地质,选择材料.聘请了最好的工程师团队来设计方案,而这又花了五年时间