对于程序员来说写代码并不是最难的事情!

大多数非程序员认为软件开发是非常困难的,确实如此,但这种困难不像那些外行人理解的那样。最近在 Quora 上的一次讨论,程序员分享了他们认为工作中的最大困难,在这里为大家呈现出其中的 9 个。你可以看到,写代码并不是最难的事情,如果你也在从事软件开发,看看哪些内容你认为也是很难的。
1,怎样才是最佳解决方案
  任务描述:给你一系列的需求,你被要求设计和构造技术上的解决方案。这包括了设计数据结构,算法,逻辑上的封装等等,还要考虑到用户安全方面的因素。
  挑战:确保你的设计可以满足客户需求,让客户认为合理。当然还要在项目时间允许范围内。
  2,写测试任务描述
  写单元测试,确保代码中每一个小部分的功能正确。这样做可以让你尽早发现 bug,让你后续的回归测试变得更容易。一些开发的方**甚至鼓励开发者在编写程序之前就可以写好测试程序。挑战:为每一部分进行测试是一件很枯燥乏味的事情,让人感觉是在做多余的事情。
  3,编写文档
  任务描述:撰写文档,说明你代码的含义并解释应用的工作原理。这包括了独立的文档文件和代码注释,让更多的人理解你的代码。
  挑战:这是一件耗时的工作,如果没有人去读它们的话就是纯属浪费时间了。相比于写文档,程序员还是更爱写程序。
  4,实现那些你不认可的功能任务描述
  有时候你会不得不去实现一些功能和特征,它们不是你的本意,你觉得它们不应该出现在这个项目里,但是客户一定要坚持如此。
  挑战:你需要抛开一切个人的感觉和意见,把时间和精力专注于客户提出的功能需求。

5,维护他人的代码
  任务描述:有时候你需要维护和调试其他程序员的程序,或一部分代码。
  挑战:你需要用尽一切办法理解前任开发者的意图,他是如何设计的这些代码。特别是当这些代码写得很差,也没有注释和文档可以帮助到你时,那就很糟糕了。



6,与他人打交道任务描述
  作为开发者,你要从客户那里得到需求,向经理提交报告,和测试人员一起工作,更要和其他工程师讨论项目。
挑战:你需要向外行人解释技术上的事情,有时候你的工作会依赖于他人的认可或辅助。期间也会出现你和 QA 人员或其他工程师有不同意见的时候。
  7,预估项目工期任务描述
  项目一开始的时候,你要预估这个项目的完成需要多长时间。
  挑战:一般情况下你要预估的是一个你之前没有做过的项目,而且你只能基于那些模糊的需求,再给未来可能发生的问题分配些时间。
  8,解释我的工作
  任务描述:向周围的非程序员朋友,家人,同学解释你的工作是在做什么,不做什么。
  挑战:你爱的那些人可能不理解你在做什么,而且你还不断的被问及计算机相关的一切问题。
  9,程序中的命名任务描述
想出一些名字,为你程序中的变量、过程、函数、类、对象、数据库等命名。
  挑战:即使是很小的程序或应用都需要给很多东西命名,你要想出那些适合的,简洁的,可以表达正确含义的一些名字。
为中小企业快速匹配开发人员-斜号(xiehao.co)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,593评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,268评论 19 139
  • 『题记』今天是第二个没有母亲的中秋节。老人家在世时,就是一个知(音zhao)好坏(河南话:挺讲究)的人,每次走亲访...
    发呆的老渔民阅读 598评论 1 1
  • 最近一直在读《阿弥陀佛么么哒》,读到老张和佳佳。 老张之前是一个工程师,却在最辉煌的时候放弃一切开了一家酒吧。老张...
    Trashpanda阅读 711评论 0 0
  • 今天是财神节,早早地就听到鞭炮声,宝贝起来问我为什么要放鞭啊?我说今天是财神节,所以要放鞭炮的,下午我去接的孩子,...
    王艺静妈妈阅读 120评论 0 1