大多数非程序员以为软件开发是十分困难的,的确如此,但这种困难不像那些外行人了解的那样。最近在 Quora 上的一次评论,程序员共享了他们以为作业中的最大困难,在这里为我们呈现出其间的 9 个。你能够看到,写代码并不是最难的作业,假如你也在从事软件开发,看看哪些内容你以为也是很难的。
1,怎样才是最佳解决方案
使命描绘:给你一系列的需求,你被要求规划和结构技术上的解决方案。这包含了规划数据结构,算法,逻辑上的封装等等,还要考虑到用户安全方面的要素。
应战:保证你的规划能够满意客户需求,让客户以为合理。当然还要在项目时刻答应范围内。
2,写测验使命描绘
写单元测验,保证代码中每一个小部分的功用正确。这样做能够让你尽早发现 bug,让你后续的回归测验变得更简单。一些开发的方**乃至鼓舞开发者在编写程序之前就能够写好测验程序。应战:为每一部分进行测验是一件很枯燥乏味的作业,让人感觉是在做剩余的作业。
3,编写文档
使命描绘:编撰文档,阐明你代码的意义并解说使用的作业原理。这包含了独立的文档文件和代码注释,让更多的人了解你的代码。
应战:这是一件耗时的作业,假如没有人去读它们的话便是纯属浪费时刻了。比较于写文档,程序员仍是更爱写程序。
4,完结那些你不认可的功用使命描绘
有时分你会不得不去完结一些功用和特征,它们不是你的原意,你觉得它们不应该呈现在这个项目里,可是客户一定要坚持如此。
应战:你需求抛开全部个人的感觉和定见,把时刻和精力专心于客户提出的功用需求。
5,保护别人的代码
使命描绘:有时分你需求保护和调试其他程序员的程序,或一部分代码。
应战:你需求竭尽全部办法了解上一任开发者的目的,他是怎么规划的这些代码。特别是当这些代码写得很差,也没有注释和文档能够协助到你时,那就很糟糕了。
6,与别人打交道使命描绘
作为开发者,你要从客户那里得到需求,向司理提交陈述,和测验人员一同作业,更要和其他工程师评论项目。
应战:你需求向外行人解说技术上的作业,有时分你的作业会依赖于别人的认可或辅佐。期间也会呈现你和 QA 人员或其他工程师有不同定见的时分。
7,预估项目工期使命描绘
项目一开始的时分,你要预估这个项目的完结需求多长时刻。
应战:一般情况下你要预估的是一个你之前没有做过的项目,并且你只能根据那些含糊的需求,再给未来或许发生的问题分配些时刻。
8,解说我的作业
使命描绘:向周围的非程序员朋友,家人,同学解说你的作业是在做什么,不做什么。
应战:你爱的那些人或许不了解你在做什么,并且你还不断的被问及计算机相关的全部问题。
9,程序中的命名使命描绘
想出一些姓名,为你程序中的变量、进程、函数、类、目标、数据库等命名。
应战:即使是很小的程序或使用都需求给许多东西命名,你要想出那些合适的,简练的,能够表达正确意义的一些姓名。