我是一个崭露头角的软件工程师(现在是二年级学生,CS专业),我真的很难理解别人的程序。我想知道这个技能(或缺乏)是否会对我不利,如果可以,那么我该如何发展呢?
我是一个崭露头角的软件工程师(现在是二年级学生,CS专业),我真的很难理解别人的程序。我想知道这个技能(或缺乏)是否会对我不利,如果可以,那么我该如何发展呢?
Answers:
开发它的方式是通过编写自己的代码(很多),是的,通过阅读别人的代码而苦苦挣扎。
当然,问题在于,并非每个人都以自己的方式思考。很久以前,我刚上一年级Java课,我们得到了一份作业。与我的看法相反(答案将集中在三个或四个常见的解决方案上),班上的每个人对作业都有独特的解决方案。
因此,您应该阅读良好的代码。
这是“设计模式”如此受欢迎的原因之一,也是为什么您应该研究它们。设计模式为程序员提供了交流的通用词汇,并为解决计算问题的“更好”方法而调动了您的思维。
您还应该研究算法和数据结构。
结论: 您应该始终努力编写其他开发人员可以轻松理解的代码。
这很重要。
一旦毕业并走向世界,您将要从事的大多数项目将已经有其他人贡献的代码。幸运的是,程序员可以将所有的时间都花在绿地项目上!
它是通过实践和耐心获得了技能,而且在许多情况下,它是一种技能,许多人并不真正得到直到太多的机会的工作后,他们毕业并找到第一份工作。放松!
(不过,如果你的学校有一个带薪实习项目,这将让你预先毕业经验上大多是由其他人编写的大型项目和它可以让你的学分!奔头到,如果可用)
阅读和编写代码都有不同的技能。
至于阅读还是写作。是的,阅读是必不可少的。
可以帮助我们许多人的一些准则是:
好。太好了。现在,转到您可能遇到的情况。
OMG,这吓坏与数百个长着疯狂的依赖,每次行的行源代码和类数以万计的庞大的代码库我尝试按照东西,我必须保持10个水平在我的头上,等等,等等
听起来熟悉?是的 深呼吸。放松。这是正常的。这就是生产系统的构成。人们在这些看似不可理解的情况下得以生存(和发展),因为:
这些答案大部分都集中在代码阅读对自我完善的重要性上。我完全同意并赞同。
还有一个角度要提防-即使您是一个不能从阅读其他方法中受益的神童(不可能,但是为了论证...),您仍然需要知道如何阅读代码,因为这个概念在大学环境中基本上不存在:绝大多数行业项目是棕色项目(即在现有的代码库中或与之集成)。
仅仅为了理解现有代码库和过程而阅读代码的需求是真实的。总是可以向其他开发人员询问有关代码的问题,但这只会花很长时间。人们离开,切换项目,或者只是时间流逝。低级细节从内存中消失,维护程序员可以应用补丁。在某些时候,除了代码本身之外,没有别的真理来源。
良好的代码卫生,样式指南,代码审查和文档帮助,但在某些时候,代码是发生情况的真相,唯一找到答案的方法就是亲自获取答案。除了在自我开发中的用途外,读取代码的能力与编写代码是明显不同的技能。
了解他人的代码是您无法逃避的事情,因为即使您不在团队中,您也很可能在团队中工作,您会在Google上搜索其他内容,并且您必须了解示例代码。所以是的,这是必须的。
我的感觉是,每个人在开始时都会感觉比其他人少一些,您对代码的理解比其他代码更好,因为与其他代码相比,您花费更多的时间在编写自己的代码上,因为您不仅在阅读,编写和结构化方面在你的脑海中。如果您开始将更多时间花在其他人的代码上,并且首先尝试查看正在使用哪种类型的结构/流程,那么这肯定会使您更好地理解代码。
为了使我的观点更具说服力,如果您有一年前编写的某些代码,请再次理解它,我可以肯定地说,与其他代码相比,您将花费更多的时间,但花费的时间更少,因为您对如何构造自己的代码有所了解码。
希望这个帮助,不要失望,这是完全正常的。花更多的时间来编写代码,最终您将获得它。
好吧,我刚刚得到了一个项目,该项目由另一个国家的团队编写,包含大约100,000行代码,在接下来的几个月中,我必须对他们的代码副本进行一些非常重要的更改,同时保留尽可能多的代码尽可能的共同。
您告诉我如何在没有快速阅读他人代码的情况下完成工作。如果您看不懂别人的代码,那么您将完全陷入困境。