当我进入一个新项目时,一次又一次地遇到一个问题,促使我写下这个概念:在5年的商业开发过程中,我一直很“幸运”地参加了首席开发人员要离开的项目。 每次我继承一个巨大的代码库时,其操作法则只有其创建者才能理解。 反过来,我已经在第一年之后通过设计养成了开发的习惯,并通过评论养成了设计的习惯。 我想和大家分享一下:
通过评论开发范式
想法:通过评论进行设计。 代号
- 主意
这个主意的发起人可以是您,也可以是其他人,例如您的PM(TimLead)。
一个想法的示例: “您需要从'+,-,方括号和空格'之类的字符中清除电话号码,以便输出仅是一组数字。此功能需要实现以电话号码进行搜索-以任何方式输入。”
通过注释设计示例:
扰流板<?php namespace App\Services; use App\Entity\Users; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManager; class PhoneService {
例如:
扰流板 <?php namespace App\Services; use App\Entity\Users; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManager; class PhoneService {
这是为了什么
为什么我需要注释,代码,所以很清楚?
许多人会说代码就是文本-而且很容易阅读。 我不得不提到,代码是一种通过使用的语言的语法表达您的想法的方法。 而且,当我们编写复杂的逻辑时,我们会以多种方式使用自己的语法。 但是,如果我们处于设计阶段-我们将以一种通用的语言描述我们的逻辑,然后在3年后返回代码,我们将了解它的工作原理和代码。 继承人,同样可以轻松解决。 通过注释使用设计-减少了项目的熵,并使代码更加美观。
为什么需要设计,我可以坐下来一次写所有东西吗?
如果您在问这个问题,那么您只需要紧急阅读Steve McConnell撰写的“ Perfect Code ” 。 在那里,这个概念不仅仅被公开。
我会给一个小报价:
在代码设计阶段,通常会发现75%的错误。 如果找不到它们,我将不得不重构。
确实,在设计阶段,您可以了解所构想的业务逻辑将无法按计划工作,或者可以看到解决特定问题的更好方法。 而且,您以后无需再重新构建逻辑块-不能完全按预期工作。
我需要对所有内容发表评论吗?
我在上面给出了基本示例。 它们是完全可以理解的,无需评论,但是我仍然使用IC-DC方法来实现它们。 因为 我不希望我的代码增加熵。 我访问了许多项目,正是由于其中的巨大熵,大多数项目不得不从头开始重写。 考虑一下是否要简单地删除花费了几个月或几年时间的项目。 如果答案是否定的,那么我认为始终使用这种方法是值得的。 因为 如果您离开该项目或几年后出现了一种新技术,该技术可以比您的旧解决方案更好地满足需求-IC-DC将帮助您最佳地实施更改,将功能降到最低,因为新员工或新员工将了解其工作方式和原因。