编程团队入门指南

每个编程团队都有自己的编程文化。 使每个人都适应它可能很难。 拥有强大的编程文化,不仅可以使程序员与公司的目标保持一致,而且还可以帮助他们实现目标。 这可以提高他们的生产率,提高满意度并保留关键价值。

编程文化与计算机无关。 他们不在乎将所有代码放在一行还是多行中。 它不是关于代码和计算机的交互,而是关于代码和程序员交互

应该编写程序供人们阅读,并且只能偶然地使机器执行。

― Harold Abelson,计算机程序的结构和解释

编程文化应该简单,干净并且易于学习和遵循。 这种文化的基本基础是代码可读性。 对于初学者来说, 代码的可读性是头等也是最重要的。 顾名思义,可读代码更易于阅读,遵循和理解。 在编写代码时,您可能经常希望以尽可能小的代码完成工作。 例如,一个人可以在一行中编写一个完整的函数,但这会使它更难阅读。 在下面的示例中,我们可以轻松地看到代码的可读性差异。

在Internshala,我们尝试保持代码尽可能整洁。 随着时间的流逝,我们试图在内部建立良好的编程文化。 下文没有介绍这种文化的基本原理。

代码经常会出错,需要定期维护。 因此,应始终编写较少的代码(足以完成工作),并且在不需要时应删除代码。 这不仅使代码保持清淡,而且在调试时也有帮助。

在实现嵌套的if-else条件时,应将其保持在第二级或以下。 这使条件表达式更具可读性。

另外,应该始终遵循“ 第三次规则 ”。 如果第三次编写相同的代码块,则应将其移到外部通用帮助程序中。

样式是编写代码时最重要的事情之一。 它可以帮助程序员习惯于代码,并且随着时间的流逝,我们的思想开始适应代码,并且我们可以更快地编写代码。

缩进:正确缩进的代码更具可读性,更易于使用。 意外的代码感到混乱,程序员必须花费大量时间和精力来了解正在发生的事情。

案例选择:在命名变量/函数时,重要的是确定应使用哪种案例。 有些团队喜欢“骆驼”表壳,有些喜欢“蛇”表壳。

骆驼案: thisStatement是WrittentInCamelCase。
蛇案: this_statement_is_write_in_snake_case

大多数PHP库都以“ snake”形式编写,而那些以Java编写的库则以“ camel”形式编写。 比选择大小写更为重要的是,团队中的每个人都遵循相同的大小写,以使代码具有一致性。

在任何项目开始时,规划架构以保持代码的结构化和可管理性很重要。

代码组件是一种非常常见的体系结构。 组件基本上是代码部分的一部分,该部分是可执行的,互斥的,并实现类似于API的通信结构。 外部程序包和库实现了这种体系结构,程序员在其中将它们像黑匣子一样对待,并且仅获得访问它们的窗口。

代码分组是另一种架构。 代码库分为“控制器”,“助手”,“模型”,“视图”,“日志”等。大多数框架都使用此架构。 每个文件夹都有特定的角色。 例如,“模型”用于所有数据库连接,“控制器”用于执行,“视图”用于显示。

程序员往往在知道问题陈述后便立即开始编码。 许多错误/错误是由于缺乏适当的计划而常常导致返工。 在任何模块的开始,都应该考虑使用什么技术,更改所有代码,添加或修改哪些文件/文件夹,添加/修改哪些数据库表等。作为一名程序员,应该始终相信代码可能会出错。 人们应该始终考虑无效输入将发生什么或可能失败的情况,并将其纳入计划阶段。

在这个阶段让其他将要参与项目工作的团队成员(资深程序员,业务团队,产品经理,设计师等)参与进来也是很有意义的。 这有助于确保每个人都掌握正在发生的事情。

在开始编程之前,记录预测的更改也非常有帮助。 本文档的目的是双重的。

  1. 它允许项目中涉及的每个人(多个程序员,产品经理等)都在同一页面上。
  2. 将来,如果程序员或其他人想了解所做的更改,他们将只是参考文档而不是查看代码。

请记住要确保文档始终与代码匹配。 如果编码时模块中有更改,则更改也必须反映在文档中,以备将来使用。

在Internshala,我们有两个层次的文档,一个层次是产品团队拥有的,从用户的角度列出了预期的用例,而另一个层次是程序员拥有的,其中包含了程序员计划中的完整技术文档。

变量和函数的名称应清晰易懂。 另外,函数名称应与参数和返回值一致。 如果不一致,则存在代码冗余的高风险。

程序员应始终尽量减少临时变量的使用。 但是,如果使用的话,最好为他们使用通用的命名方案。 在临时变量或函数上附加“ temp_ ”之类的标签有助于其他程序员理解这是临时代码。

注释可用于解释代码或用于代码文档。 许多程序员认为,在代码中添加注释会使其更具可读性。 但是更好的方法是使代码本身直观易读。 我们在Internshala尽量避免发表评论。

同样,绝不应释放带有注释的代码块。 它不应该首先存在。 如果将来可能需要该代码,则应创建一个git commit或票证,可追溯到代码更改。

通常,由于紧急情况,程序员可能无法实现最佳编程实践。 在这种情况下,列出发生这种妥协的地方的列表很有用,以便程序员将来可以重新解决并解决这些问题。 此列表称为“技术债务”。 为了保持良好的代码质量,保持并最小化这种技术负担非常有用。 只要程序员有时间,他们就应该回来解决技术问题。 与大型团队和大型代码库一起使用时,这特别有用。

这是敏捷编程的两个基本原理。 DRY (不要重复自己)与数据冗余有关。 程序员和测试人员都应该紧随其后。 程序员切勿编写已经编写的代码。 将此类代码移至公共帮助程序可减少冗余。 同样,测试人员切勿再编写相同的用例。

YAGNI (您不需要它)与编写将来可能需要的代码有关。 这更像是在考虑将来的虚构用例的情况下编写代码,并且不可避免地它将变得死机或需要重写。

代码审查是捕获错误或错误的最简单方法。 它还有助于保持代码的优化和减少冗余。 同样,测试对于确保产品无错误非常重要。 通常,代码一开始就可以正常工作,但程序员仍应测试代码。 测试的一种方法是故意添加错误,然后查看代码是否失败。 在将错误推入生产之前,比在错误进行调试之前发现错误要容易得多,而且更好。 记住,预防胜于治疗🙂

分享是关怀。 同样,正确编程文化的关键是确保其所有权得到共享。 这意味着与整个团队讨论或记录价值,设计,决策等。 这不仅使每个人都在同一页面上,还使他们意识到自己的责任。 当您对它进行良好的定义时,这种编程文化的力量就会散发出来,让程序员为自己的工作感到骄傲和自豪。 这是从中获得最大收益的理想选择。


感谢您阅读本文。 如果您喜欢这篇文章,请分享,评论并按几次(最多50次)。 。 。 也许会帮助某人。