你如何面对一个你从未做过的编程任务?

  杏耀资讯     |      2018-06-19

这个问答是每周发布的一系列帖子的一部分,这些帖子强调了技术爱好者遇到的常见问题,并由100多个问答站点组成的免费社区网络Stack Exchange的用户回答。阿列克赞杜问:

我的职业生涯始于a。NET developer 3个月前,经过对各种技术、模式和概念的长期培训计划,监管我的开发人员已经决定,我准备加入公司处理的众多项目之一。

我很兴奋终于能够开始编码了。我加入的团队目前还比较小,因为我们从一个新的项目开始,这很棒,因为我参与了项目的整个生命周期。它是一个基于Web的SPA项目,后端使用ASP。NET MVC / ASP。NET Web API以及前端的杜兰达尔框架和相关库。

我的问题是,在和我的同事开会并确定下个月的任务和估计之后,我发现自己处于一个不知道自己是否有能力承担任何任务的位置。

我从未完成过任何创建的任务,我不知道该如何继续。

例如,创建的任务之一是为整个应用程序创建通用错误处理机制。

面对自己从未做过的工作,通常会怎么做?

请看这里完整的原始问题。

Basic researchbarre23答案( 43票) :

有几件事你可以而且应该做好准备来完成任务:

思考问题并绘制一些图表。确保你知道你要解决的问题是什么。对你想做的事情做研究。互联网是一个有价值的信息来源。我不是说问堆栈溢出——我是说研究其他人是如何解决或处理像你这样的问题的。这就是Google的想法: 异常处理是一个系统范围的问题。我个人一直在努力向别人学习。最后,这可能是最重要的,和你的团队中的其他人交谈,以获得更多关于该做什么的澄清和指导。我总是希望看到新的工程师来寻求项目指导。不知道该怎么做永远不会真正结束。我每天都遇到以前从未解决过的问题。具备解决新问题的能力是非常重要的。即使老问题也不是完全老的——在编程中,几乎总是有新的转折或者要求你的解决方案以新的或者不同的方式工作。

这就是我成为工程师的原因;我喜欢想出新东西。

不断学习新事物。学习让你变得更好。

Related : 当您用尽所有方法修复错误时,该怎么办?

给自己剪一个断折jeffo回答( 9票) :

我认为你比技能缺失更容易焦虑。在某个时候,不是一切都是新的吗?有没有给过你一个任务,但在一定程度上没有解决?你的工资是用来计算事情的。

利用你的团队:如果你是一个好团队,你应该可以寻求帮助。有些事情你会知道,即使是最年长的人也不会知道。寻求帮助并不是软弱的表现(只不过是跑到某个问题网站上)。) .

搜索:关于一般错误处理的Web搜索一无所获?你可能找不到完整的解决方案。无论如何,你必须在它上面工作,使它适合你的应用程序。

Prototype :将您对任务的看法从生产改为Prototype。从那里得到一些工作和建设。当你达到可以使用的程度,然后开始把它当作生产。现在你不会把任务看作是你甚至不知道从哪里开始的事情。

克服它:只有你知道怎么做的事情才会变得无聊。它还会让你陷入一个陷阱,一遍又一遍地重复同样的事情,粗暴地强迫某些解决方案。(如果你喜欢重复,去装配线上工作。)做好犯错的准备。那些告诉你他们什么都知道,或者说他们从不寻求帮助或进行搜索的人,只是在撒谎。这就像是关于医生还在行医的老笑话,他们也没有所有的答案。

重新定义问题凯文·克林的答案( 5票) :

当然你不知道如何编写通用错误机制。没有人知道如何编写通用错误机制直到定义了一些要求。听起来你所拥有的只是某人的想法,即启动这个项目需要某种通用的错误机制。

就我个人而言,我会把这个想法推回去。编写 generic 在实现实际用户需求之前的任何事情几乎总是浪费时间。而且由于它是通用的,所以从定义上来说,它并不特定于您的公司或应用程序所以可能已经有一些东西可以满足你95 %的需求了。

但既然你是初级会员,往后推可能不是个好主意。所以你需要和那些认为他们需要一个通用错误机制的人交谈,找出他们希望这个机制提供什么服务。然后搜索 net以查看已经写的内容是否足够。如果你发现了什么,建议简单地使用它。他们可能不会同意,因为任何人如果要求一个通用的错误机制,可能会遭受一个非发明的坏案例。

如果失败,下一步是为错误机制定义一个接口,并获得利益相关者的批准。此后,实施可能会变得微不足道。

找到更多答案,或者把自己的答案留在原来的帖子里。在程序员处看到更多这样的问答,这是一个专业程序员对软件开发概念问题感兴趣的问答网站。如果您有自己的编程问题需要解决,请登录程序员并提出问题(免费)。