作为一个假设,如果我在.NET中工作时要面试某人以担任新的PHP开发人员职位,那么我如何确定他们提供给我的代码示例是否高效且质量良好?
换句话说,如果您不熟悉该语言,评估程序员代码的最佳方法是什么?
作为一个假设,如果我在.NET中工作时要面试某人以担任新的PHP开发人员职位,那么我如何确定他们提供给我的代码示例是否高效且质量良好?
换句话说,如果您不熟悉该语言,评估程序员代码的最佳方法是什么?
Answers:
我如何确定他们提供给我的代码示例是否高效且质量良好?
您将无法评估的内容是语言习语的正确使用和库的使用。因此,这些不是您应该尝试看的东西。
您可以评估的是:
以上几点(尽管不是很详尽)将指示代码是否闻起来,并且应该是经验丰富的程序员可以识别出的好坏。
简而言之-寻找无论语言如何都应表明良好代码的事物。
让他们作为流程图,或作为面试的一部分带您完成。您有一个完美的借口,可以告诉他们他们如何看待自己的解释。
如果他们要跳到您喜欢的语言,您会知道有很多辅导员要来,因此无论如何,您都应该寻找良好的逻辑/推理能力。
如果他们要继续使用他们喜欢的语言工作,那么您将不得不接受他们会在某种程度上自行管理更精细的语言特定细节,直到其他人都加快了速度,因此您将需要进行互动还有设计方面。
除了骨头式的/显然是错误的代码,高效性在很大程度上取决于所讨论语言的编译器/解释器,而您实际上将无法从代码示例中了解到这一点。一个代码示例可以像优美的中国瓷器一样精美而优雅地编写,但是如果编译/解释得不好,运行速度会很慢。
如果没有一些熟悉,您将无法评估语言功能/语法糖/约定的惯用用法。
您应该能够基于通用性(例如整洁度,控制流,变量命名,操作顺序等)来判断它是否编写得一般。
但是,实际上,如果您知道该语言将要使用的语言,则可以尝试找到该语言的一个或多个样式指南,进入书店并翻阅几本关于该语言的书籍,略读代码示例,以使用您选择的语言查找与您熟悉的事物类似的事物,查看使用该语言的一个或多个开源项目,依此类推。
如果您有时间并且没有成本障碍,那么您甚至可以为该语言设置开发环境,开发出Hello World应用程序,编写代码,或者编写一个简单的小应用程序在里面。您将很快建立起一个基本的参考框架,这不仅可以使您有能力进行有关代码审查的特定目的,而且您可能会受语言的束缚并有所扩展。
不论语言:
并不是说任何没有这些功能的代码都会自动变差,但是我认为这些是对自己的思想进行了反思和考虑的人的指示。
但是,对于所有这些指标,您应该询问这样的代码的基本原理是什么。可能有一个特定的语言选择理由……然后,当他们和其他候选人离职时,google是您的朋友,因为您可以检查他们的话听起来是否合理……!
祝您好运,因为雇用好人是您组织中最重要的角色之一;)