大编程单词或短语

口袋保护贴与一些杰出的程序员一起工作时,我经常发现自己与建筑师,领导和开发人员会面(我认为),他们乐于在其中抛出一些大的单词或短语,以期吓Product产品经理或客户。

这是程序员喜欢做的事情之一。 这里有十个内容非常简单的描述(毫无疑问,这将吸引开发人员的愤怒,因为我用它们破解了他们的术语而死了。 我简单的汽车隐喻):

  1. 抽象化 –这是一个困难的过程或功能,并且基本上从逻辑上将其分解……按层次结构(A属于B,B属于C等)或按功能或特征(颜色,大小,重量等)。 通过逻辑地组织功能,抽象使面向对象的编程更加容易。 为了制造汽车,我分别制造了车架,发动机和车身。
  2. 弃用 –这意味着系统中可能会保留一些旧代码,但需要逐步淘汰。 不赞成使用代码时,程序员不要引用代码或使用更新的代码,直到所有引用都变为旧的为止,此时应将其删除。 有时,如果某个功能即将消失,则可以保留一段时间,并向用户发出警告,告知它即将消失。 我得到了带有新布线的新立体声系统,但我保留了旧布线并且不使用它。
  3. 封装 – 这是在函数未跨越系统的任何其他部分时在父级内组织您的编程函数的过程。 如果您有数百万个功能,则希望让它们在其操作的区域内有效地组织和运行,而不是在全球范围内使用它们。 我将发动机的支撑机构放到了发动机舱中……我没有将机油滤清器放到后座上。
  4. 遗产 –可以利用另一段通用代码(一个类)的属性,以便将其重用于新功能,而不必重写它。 继承是另一种好的面向对象的开发实践。 我的汽车安全座椅可用于携带儿童或成人(无论坐在那里)。
  5. 正常化 –这是通过建立引用来在数据库中更有效率地组织数据的方法。 例如,如果我必须整天记录交通信号灯……红色,黄色和绿色。 而不是用红色,黄色和绿色写每个记录–我写1、2和3,然后创建另一个表,其中1 =红色,2 =黄色和3 =绿色。 这样,我只记录一次红色,黄色和绿色。 我的每个车门都具有相同的门把手。 一个手柄,用于4个不同的位置,而不是4个不同的手柄。
  6. 面向对象 –在现代编程语言中,这是一种设计方法,使您可以按功能逐段编写特定代码,然后重用它们。 例如,如果我想检查一个有效构造的电子邮件地址。 我可以一次构建该函数,然后在我的应用程序中所需的任何地方使用它。 我的汽车有18英寸的轮辋,可以由同一制造商或其他制造商在其他汽车上使用。
  7. 多态性 –这很难解释,但基本上是开发可以动态用于其他情况的代码的能力。 换句话说,它可以简单地通过引用的方式继承独特的动态功能。 这是一种非常有效的开发方式。 我可以使用汽车的电源插座为手机充电或为轮胎打气筒提供果汁。
  8. 递归 –这是一种代码引用自身的方法。 有时,它是高效且有意的,但有时它可能会使您的应用程序失控。 我在汽车立体声系统上单击“搜索”,它在广播电台中循环播放。 它永远不会完成,只是继续前进。
  9. 重构 –这是重写代码的过程,可以使代码更易于遵循或更好地组织,但不必添加任何其他功能。 我重建引擎。
  10. 面向服务器的架构(SOA) –进行面向对象的编程,并将其应用于大型系统,在该大型系统中,您可以拥有负责某些功能的整个系统。 您可能有一个客户关系管理系统,该系统与一个电子商务系统,一个货运系统等相关。 我用车拉着拖车将物品从一个地方运到另一个地方。 我使用拖车挂钩(XML)来连接它们。

我意识到我的隐喻并不总是完全正确。 我希望他们能有所帮助!

在下一次与开发人员的会议中听到这些话时的一些建议……不要跑回座位上,直视它们 维基百科上的数据,他们会看的。 不要退缩,他们会进攻。 这是要执行的操作…仿佛在沉思中那样思考窗外,然后以好奇的神情回头看或划伤下巴。 等待他们用更多信息跟进他们的声明。

……他们在看。

8条评论

  1. 1

    大声笑,你真的把它钉牢了吗?道格(Doug)you您是否想让我们破产? 您知道该死的,我们依靠那些未被理解的概念,因此可以与客户保持联系。 现在我们想出一种方法来打击他们 结合 这些流行语创造了一个可能像这样的巨大短语:

    您知道要插入的功能可以抽象为多个对象,这些对象封装了功能并通过面向服务的体系结构进行通信。

  2. 5

你觉得呢?

本网站使用Akismet来减少垃圾邮件。 了解您的数据如何处理.