The Power of Documentation and Commenting the code

本文分享了作者作为程序员的职业经历,强调了软件开发过程中文档的重要性。通过适当的文档记录,不仅可以保护开发者免受责难,还能节省查找错误的时间,为公司节约成本,并帮助新入职者更快上手。
I have spent most of my career as a programmer. Most of the time i have been a stand alone programmer. I have existed in organizations where documentation is always needed before a code can be written. where before you change a small bug in the program, you need to submit a change request document. By that time it looked like a waste of time, because most programmers are not fond of writting documentation, infect we rarely use Microsoft word. In this article i will share my experience and the danger of not documenting your work.

Introduction

I have spent most of my career as a programmer. Most of the time i have been a stand alone programmer. I have existed in organizations where documentation is always needed before a code can be written. where before you change a small bug in the program, you need to submit a change request document.  By that time it looked like a waste of time, because most programmers are not fond of writting documentation, infect we rarely use Microsoft word. In this article i will share my experience and the danger of not documenting your work.
What can Documentation do For you
Good Question what can Documentation do for you ? Documentation can do a lot of things. Let me give you some of the things that documentation can do for you and i will explain later what i mean. 

  1. Documentation can save you from getting fired.
  2. Documentation can save you time you spend to find a Bug
  3. Documentation will save your company money
  4. Documentation can get you started very quickly in a new job

Let us discuss these four points. 

Documentation can save you from getting 

Documentation can save you from getting fired , means that it can protect you. Remember the standard procedure in software development world. First you need to identify the problem and write a proposal document that explains what you are about to do for them , and they will look at it and agree or disagree or request you to change something from the document. After they are happy with the proposal , You will draw up a functional specification that will explain clearly technically how the application is going to work and the technologies that will be used to develop that application. Again that document must be submitted to be approved. This means that tomorrow when they say they did not request the application to be like that you will be safe because they have signed and that means they have agreed that the application will be done that way. This will save your job as a developer , because you designed based on what is written in the Functional Specification. Paragraph Title 2Paragraph contents goes here 

Documentation can save you time you spend to find a Bug

Documentation can save you time you spend to find a Bug, means that it can save you time you spend to find a bug. A Functionality that is not documented is not easy to debug. Because you need to first know what it is doing and find a bug in that. How can a new developer find a bug in a functionality that is not documented ? Let us say a Developer left without documenting a functionality and no one even bothered to write documentation for a functionality. This will lead to a waste of unnecessary time that will be spent to find a bug and at the same time many questions will be ask , and sometimes there will be no accurate answers and this will mean a developer needs to sit down with the users and understands exactly what was the functionality doing and that is time and after the developer understand the functionality he will need to look at how the previous developer designed the functionality and after that find the bug and fix it and test it. What i just wrote might even lead to weeks and a months of time wasted because no one invested his time in writting documentation for the system. 

Documentation will save your company money


Documentation can save your company money, means that if everything is documented and well organized your company will save a lot money. Some of the programmers are paid hourly. If you look at the previous point i have made complements this point. In some companies programmers are paid for wasting time. It is like an Infinite loop. This is because there is lack of documentation. Project that were completed in the past designed with old languages like VB6 cant be upgraded because of lack of documentation and if an attempt to convert those projects to C# or VB.net, the Projects drags to a period of a year or two years, because programmers will be converting to a new technology as the same time figuring what does the functionality is supposed to do and on the other hand having technology challenges because for some reason , the way things were done in the past language is done differently with a new language and that might propose for a new design way to deal with a problem. These kind of things leads our companies to lose money and retrenchments might follow because the department cannot afford to pay the salary of a programmer. You can make a difference and go the documentation route, this will not save your company money but it will save your friend who is your colleague from being retrenched.


Documentation can get you started very quickly in a new job

Documentation can get you started very quickly in a new job. Just image when you start a new job and they tell you that they have no documentation for their applications and you will have to learn while you are going. They might even tell you that you will come across problem and they will make you understand the system. believe me there are big companies that do that.  I remember one time i went a certain company and they told me that they don't have any sort of documentation, you just being told to add a functionality because there is no time, there are a lot of clients on demand. I thought to myself if i want to kill my career i will follow that route. My point is that when you apply for a new job, find out about their documentation processes or let they explain their development processes and if they don't mention anything about documentation , ask them and ask them who will do the documentation. From there you can know what kind of company are you letting yourself into. Because not all development work is googlable or you can ask on the forum, some are so complicated and the answers can only come from the company itself and if they don't have documentation its chaos. 


Where to Start

One might start asking, where do i start practicing this. First there are templates on the web that can guide you to write documentations. I have compiled some links that will help you. 

http://www.stcsig.org/mgt/docs/uncspectempl.pdf

http://www.techtransform.com/process/PMTech/FUNCTEMP.pdf


http://www.bredemeyer.com/pdf_files/functreq.pdf

and for Change requirement Documents you can get the templates here 

Change Document Template 1

Change Document Template 2

Change Document Template 3


Remember that the Change document will be used as a permission to change the Application. This needs to be approved so that it can save you and your company and possibly your friend as i mentioned in the above points.
Conclusion

Application without documentation is evil to your career. If you don't know when to start writting your documentation you can get templates as i have shown you. That will give you an idea on how to do it.  Documentation is the way to go. 

Thank you for Posting at DotnetFunda

Vuyiswa Maseko 

转自:http://www.dotnetfunda.com/articles/article468-the-power-of-documentation-and-commenting-the-code.aspx
【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析(Matlab代码实现)内容概要:本文档是一份关于“基于粒子群优化算法的风-水电联合优化运行分析”的研究资料,旨在通过Matlab代码实现对该优化模型的复现。文档重点介绍了如何利用粒子群优化(PSO)算法解决风能与水能联合调度中的复杂优化问题,包括系统建模、目标函数构建、约束条件处理及算法实现过程。研究兼顾可再生能源的不确定性与电力系统运行的经济性,通过仿真验证了该方法在提升能源利用率和系统稳定性方面的有效性。此外,文档还附带多个相关领域的Matlab代码案例,涵盖微电网调度、储能配置、负荷预测等,突出其在电力系统优化中的实际应用价值。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事新能源优化调度的工程技术人员;尤其适合希望复现EI期刊论文或开展智能优化算法在能源领域应用研究的用户。; 使用场景及目标:①学习并复现基于粒子群算法的风-水电联合运行优化模型;②掌握Matlab在电力系统优化中的建模与仿真方法;③拓展至微电网、储能调度、多能源协同优化等相关课题的研究与开发。; 阅读建议:建议结合文档中提供的Matlab代码进行逐模块调试与分析,重点关注目标函数设计、粒子群算法参数设置及约束处理机制。同时可参考文中列举的其他优化案例,举一反三,提升对智能算法在能源系统中综合应用的理解与实践能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值