知识屋:更实用的电脑技术知识网站
所在位置:首页 > 科技

Java 项目开发团队有必要统一 IDE 吗?

发表时间:2022-03-26来源:网络


团队开发有必要统一IDE吗?

团队开发中,每个人都有自己擅长的集成环境,比如IDEA、MyEclipse等等,正是因为这些环境不统一,完成任务提交代码后,每当测试出BUG的时候,都会有 “代码在我机子上运行没有问题” 的说辞。那么问题来了,如何解决这个问题?

团队开发用的ide也大不相同,主要分myeclipse,idea,NetBeans,而且比率差不多。最终导致的问题如下:

1.由于不同ide产生的文件结构不同,导致svn版本上文件混乱。

2.各ide生成的文件内容不一样,例如get 或者set方法,tostring 和hashcode方法也大不相同。

3.其他。

由于这些问题给项目打包部署和后期的维护带来一些问题

有两个方案解决:

方案一:

1.定制checkstyle 2.统一IDE 3.统一IDE代码模板

结果:这样可以解决一切问题。

方案二:

1.不统一ide,项目的创建和核心代码一级项目的打包部署由具有相同ide的人编写,其他人只提交个人相关模块的代码。

结果:由于人员流动大,后期模块的维护还会面临同样的问题。

终极大招


对要开发的产品的最终形态没有明确的了解,没有明确的目的性,导致多次返工,重新设计。没有明确的开发顺序,开发的模块东一块西一块不流畅不连贯,导致模块之间耦合太高,代码散落多处难以继续开发和维护。没有系统设计结构图,没有区分数据层面、控制层面、业务层面、展示层面、交互层面、界面层面,不能随时了解当下的开发位置和进度,无法预计后续开发的时间和下一个合适的开发位置。代码写的过分冗余,不够优美,主要是因为没有写伪代码来说明一个函数中每一部分的逻辑以及逻辑上下的关系。代码写的过分硬编码,不够抽象,当发现要抽象的时候,需要重新修改之前的编码。没有考虑数据交互的结构设计,数据结构设计应该单独拎出来作为单独函数封装以便后续扩展花过多的时间在界面设计上,时间浪费在过多的样式调整上。每次编码没有写上测试的内容,开发进度被多次延误,不能保证代码的正确性,基础性的bug过多。

仔细的梳理流程后,大致整理了如下几个步骤。


第一部分、分析和规划设计

如下2步,需要画图、笔记、文字记录、演算、推理、画流程图、画架构图

1、产品选型

明确产品界面、交互设计、功能设计、模块区分,寻找相仿的产品上手体验、操作,感知功能的使用和交互的体验,目的是为了了解即将要做的产品有大致的模型,对产品模型了解的越细致越好

2、分离架构

对产品从各个维度分离架构,从功能,目录,逻辑拆分,抽象,业务流的明确,数据流的流向,交互体验的设计,从整体拆分成局部,针对每个局部再继续拆分,从局部整合成系统,考虑整体和局部之间的相互影响关系

循环这2步,最终得到一个产品系统,应该对产品系统非常了解,从整体到局部,从需求到逻辑,端到端的数据流向,交互体验设计,数据库表结构设计

第二部分、实施

3、文档编写

按照系统的各个区域和子系统,编写对应的文档注释,说明此子系统的功能、大致逻辑、含有的接口。

此外,流程应该按照先数据库层面 –> 逻辑控制层面 –> 数据展示层面 –> 交互体验层面 –> 界面设计层面的顺序来规划和思考。

同时考虑扩展性的问题,子系统是否可插拔,组件之间是否强依赖,必要的时候完成架构层面大的抽象。

文档需要大概明确此子系统模块的测试结果是什么,提前演算模块的测试步骤和结果,后续细化的代码必须要通过此测试要求。

4、技术选型

明确每一个子系统和组件需要使用到的工具、框架、第三方库、以及重要的语法或者类设计、或者编程技巧、或者设计模式等等。

5、开发顺序确认

明确这个系统的各个部分的开发顺序,独立的子系统先开发,耦合依赖强烈的系统最后开发,简单的先开发,难的后开发。 规划好开发进度计划。 先开发数据库层面的代码,再开发数据控制层面,再开发数据交互层面,再是数据展示,交互体验设计,界面开发应该放到最后,界面开发最花时间。

6、伪代码编写

使用中文表达逻辑,加上必要的编程语法混合表达。

伪代码的编写是必须的,而且伪代码要写到可以直接演算出代码结果的程度,即可以通过编写伪代码来几乎100%的确定是否符合模块测试的要求。

伪代码必须要完成数据交互的结构设计。

伪代码必须要对函数有明确的定义和解释,可以说明此函数的作用。

7、编码

编码必须符合伪代码的逻辑,编码应该多次测试,慢步前进。

注意编码的版本控制。

编码应该尽量保持优美的逻辑和语法使用。

编码的变量命名应该特别注意。

每一次的编码应该最低按照一个函数单元,即最小编码单位是一个函数,一旦决定编码,就至少完成一个函数单元,或者取消本次函数的编写。

每个函数的完成,都必须要达到伪代码对此函数的定义和解释,注意高内聚和低耦合的问题。

如果没有高内聚,要适当拆分逻辑和代码。

如果没有低耦合,要适当抽象代码,合并其他同类函数。

8、代码review,优化代码

以上每一步,如果出现重大问题和困难,应该向上返回寻找解决方案,因为这些顺序有强烈的依赖性,所以向上找到源头重新设计规划。

也正因为步骤之间的顺序强依赖性,后一步都强烈依赖于前一步,所以前面的步骤必须打好基础,才可以减少返工重新设计和规划的问题。

不是每一步都必须要做到完美,也不是每一个项目都需要使用到每一步,就像PMP一样,是一个套路,需要合理按需使用,但是整体的规划到实施的逻辑是要保证的。

多按照这种套路来完成目的,大部分的事件都在锻炼思考和规划设计能力,编码只是最后实现的一块而已。



总结

开发最小单元应该是一个函数慢步前进,多做测试先有数据,再有逻辑不要花太多时间在界面上伪代码非常重要,必须要写文档注释非常重要,必须要写数据库设计永远是第一步,每次修改、规划设计、增加功能、维护、都首先考虑数据库,所有的代码都围绕着数据库的数据进行设计、开发编码应该是最后的实现手段,应该是最后的环节多思考,少编码,思考的越多,错误越少。适当的冗余和抽象
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜