我注意到我的代码不像以前那么多。今天我将更多的时间用于分析和设计,然后我将这种设计传达给程序员。然后他们做编码。这影响了我的编码效率,因为我必须参考参考文献并依赖智能感知。事情变得越来越复杂
现在,这是具有讽刺意味的。如果我雇用一名程序员并让他/她坐在电脑前,我可能会要求做一些编码,我会检查能力。我会根据他们对内存与咨询参考的使用来评估它们。也许我更喜欢那个没有过多咨询但是谁知道他们在做什么的程序员。
您的意见和经验是什么?
答案 0 :(得分:14)
我想说,知道如何找到答案的开发人员比已经具备整体知识的人更好。我发现intellisense是一个很好的查找答案的工具,除了记住所有方法名称,参数,重载等都太过分了。
答案 1 :(得分:7)
我使用内存让我进入正确的一般区域(例如,知道要使用哪个类或至少知道它们将在哪个名称空间中),然后通常使用Intellisense / MSDN获取确切的方法名称或参数。
话虽如此,Stack Overflow正在提高我的代码编写能力而不需要任何引用(甚至是编译) - 我确信代码现在可以比以往更经常地为我开箱即用。 (我倾向于发布并然后检查代码是否有效,添加到MSDN的链接等 - 假设我对该方法有合理的信心。)
答案 2 :(得分:3)
有人知道可用的资源,如何找到答案,以及如何有效地调试 - 这些是我现在在未来员工中寻找的品质。
我以前只是查阅我的记忆,但发生了两件事:
今天的编程也比我开始时要困难八倍。我曾经在8位机器上工作,现在我正在研究64位机器。 :)
答案 3 :(得分:2)
我曾经在一家公司的首席技术官面试。他根据公司暂时解决的现实生活问题提出了一个问题。这是一个多步骤的问题。
我站在白板前工作,通过我的解决方案并在特定部分挣扎,我甚至在尝试之前使用google的一部分,如果我的任务是解决这个问题而不是面试。那时他问我,“如果这不是面试问题,你会做些什么。”我回答说:“是的。我会耗尽所有使用第三方组件完成任务的可能性并查找解决方案,因为这是一个定义良好的问题,已经解决了好几次。”还有一些讨论,我在哪里证明我的答案是合理的,解释了我将要研究的内容,并且我解决了问题的其他部分。最后,我被提供并接受了这项工作,部分原因是因为他知道如何找出我不知道的事情。
能够使用引用与能够从内存中编码一样重要。显然,如果你是一个语言商店,并希望熟练掌握该语言的人,那么这个人应该能够在记事本中写一个完整的hello world app。面试问题应该集中在小问题上,人们不应该担心小的语法错误。这就是为什么白板是面试问题的最佳IDE。
除非您要求所有编码人员使用记事本并且不向他们提供互联网访问权限,否则请不要担心语法。如果你把它们放在电脑前,就要担心成品以及到达那里的技术。
答案 4 :(得分:1)
我是30岁出头的PHP程序员。我依赖了解PHP的优秀文档,原因如下:
($needle,$haystack)
作为参数,另一个字符串函数可能使用($haystack,$needle)
。当你可以输入php.net/function_name
并获得参考时,试图保持他们的正直是不值得的。底线是记忆功能的能力并不表示编码能力。显然,有一组关键的基本功能,一个优秀的程序员只会随着时间的推移而广泛使用,但我不会根据记忆中是否有人知道substr_replace
与str_replace
的关系做出招聘决定。 / p>
答案 5 :(得分:1)
因为我已经阅读了关于某个主题的文档,文章或书籍,所以我在一个主题上学到的东西是有组织的。结果是,如果我无法从内存中获取内容,我可以通过IntelliSense或对象浏览器快速找到它。
更糟糕的是,我可以再次拿起这本书;这些年轻人没有被教导做的事情。
John Saunders
51岁
答案 6 :(得分:1)
Google + Old Projects +我的记忆(当然)
参考文献不会解决你的问题,它只针对细节,更高级别的解决问题的是实际的“编程”部分恕我直言。
答案 7 :(得分:0)
我倾向于使用Intellisense和Resharper比以前更多,但这有助于我的整体生产力。如果我能够了解我想要解决的问题,然后使用工具来获取类名和函数签名等更无聊的部分,为什么我不应该使用我拥有的工具? Jon Skeet看起来有类似的做法让我感到宽慰。
答案 8 :(得分:0)