The World of TomasRan

项目总结:Okay教育智慧平台v1.7.0.1

参与内容

  • 资源列表公共组件
  • 教学资源平台列表菜单的重构
  • 教学资源页面逻辑的重构

所历所思

  • 代码规范相关
    一个团队的项目是否应该统一编码风格?在曾经的一家强烈追求geek风格的公司小憩了一段岁月,该司要求一个项目的编码风格应当一致。依着作为一个程序员饱受沧桑的记忆,当时使用的应该是 pre-commit 工具,然而这个工具却不是对代码进行智能格式化,只是定义一些编程风格规则,仍然是基于es-lint或者js-lint之类的代码风格检测工具,倘若不符合这些规则,代码commit时会提示失败,并给出代码风格不符合规则的具体日志,然后人工去修改代码。当时刚入江湖,初出茅庐,还并没有形成自己重度依赖的编程风格,一切听从组织安排。而实际上,在实践的过程中我也很喜欢这种方式,因为它尽可能地提醒了我怎样写代码才够合理。

    那么以下我所能体验到的代码风格统一的优点:
    ① 整个项目一种风格,不管接触哪一部分代码,都有一个熟悉的切入点。李代桃僵之时,减轻了不少阅读障碍。这样,在项目紧张的时候,临时加入的程序员就无需花更多心思去解读每个人的编程风格,对于boss而言,效率提升自然是最佳的。
    ② 编码风格的统一,对于代码bug的减少是有裨益的,一般指定的风格规则,都会是一些编程的最佳实践,肯定不会剑走偏锋。
    ③ 利于团队和谐,这一点似乎是意料之外的事,然而细思之下,却也是有些道理。作为两只有洁癖而风格各异的程序猿,在修改彼此代码的时候很容易心生怨念,自以为是,各执一词。然而风格的事情,谁也定不准个谁是谁非,而事实上很多风格确实也并分不出高下。最难解决的争议便是没有绝对非对错的争议。这时候,一统天下无疑是最好的方式,始皇帝一统天下,不服气的,斩!世界和谐。

    目前的Okay教育智慧平台项目,并没有采用统一的编码风格,因此不可避免的,呈现出一种百花齐放百家争鸣的风格景象。群雄逐鹿难免造成混乱。各自为政,在自己的管辖区域如鱼得水,而涉足别人的领地时往往不知所措,耗时良久。感觉从工程效率的角度出发,统一风格是一种很好的方式。有人会说了,这是赤裸裸的压迫!没有编码自由度!每一个新人都要学习遵守代码风格,很耗时!没错,但是个人认为这比一个项目变成万花筒要更容易被接受一点。

  • 产品设计相关
    此次参与的教学资源页面重构过程中,深刻体会到了从产品设计的合理性角度出发对于开发者造成的影响。在该页面中,包含的基本模块有菜单模块,关键字搜索模块,过滤条件选择模块,搜索结果展示模块等,然而在产品给出的设计中,一些不相关的内容被划分到同一概念层级中,导致程序的复杂度的上升。而同时,也苦于自己沟通不利,没有真正能够从产品的角度出发给出一些合理化的建议,也就是想要表达的思想不能叙述明确,至少不能紧扣一些产品设计的原则或者理论去应对,只好无奈地接受了这个事实。这也让我想到一个只知埋头编码的码农未来一定是不受待见的,毕竟技术为产品服务。我们更加关注的肯定是技术的应用价值,它是一项工具,便利我们去处理一些实际问题。我们不能深陷此坑,要跳出来,认识本质目的。