该省代码的地方要省,反之亦然。

意大利输球了,睡不着阿!现在就剩下德国和阿根廷是比较喜欢的球队了。

 

还是聊聊代码上的事情吧。什么地方该省代码?在我参与、开发和接触到的很多项目中,曾经都很喜欢在开始阶段做一个设计。这本身没有错,问题在于,经常在还没有用户或者网站总用户才几十万的场景下,去考虑高并发,去考虑高负载,去设计能够跑在N台服务器上的架构。现在想来这都没有错,不去尝试,不去思考就不会进步。当然,所考虑绝不是仅仅这一个问题,而是言必谈扩展性。积极地去考虑扩展性的问题,我一直认为是个好事情,假如我是老板,我一定会适当放松项目周期,以期让开发人员有更多的思考。事实上在我以期考虑这些问题的时候,我经常会把下班时间也用上,对公司其实并不一定吃亏。

 

但现在想来是一个极端的表现。现在想来应该是当时对使用到的技术的各个方面:比如I/O吞吐能力、线程并发能力、网络并发能力、事物处理等等,对他们都一知半解或者干脆就不了解。另外两个最重要的方面在于对需求定位不清,以及总想一步到位。不要试图说你对需求的定位很清晰,实际上需求方都不一定完全把握。就比如项目的生命周期,整个项目组真的清楚了么?对使用的技术缺乏整体上的理论理解,才会让人不之所措,以至于过分关注性能等问题。出现性能问题也不能立刻把握瓶颈。

 

跑题了,继续说说我对省代码和多写代码的理解。我认为,开发任何一个项目,只要不是一锤子买卖,都需要从整体进行把握。不但能有效地进行业务的后期扩展,也可以在协同中少走很多弯路。我认为只要不是自己能够把握的代码,都可以能省则省。那什么是自己不能把握的代码?举个离子,我开发一个项目需要用到B部门开发的一个系统,那么调用B部门系统的方式就是我不能把握的代码。更极端地说,如果B部门的系统还要依赖C部门开发的组件,那B不能都不能把握给我调用的方式,那自然我就更加不好把握。这种情况,就需要和需求方多沟通,让需求方于B、C部门保持沟通才能让我在开发时更加省力。这种情况一般把B给你的接口和你实际的调用方式分开更好。可以根据需求方的业务要求,制定自己需要的接口,然后再拿自己定义的接口和B部门提供的接口做适配。这样做有两个好处,没有他们的系统你也可以很方便地模拟数据进行单元测试,或者说是即便没有他们的系统,你的系统依然可以运行,只是不能用而已。另外一个好处是如果B部门的接口不影响你的接口调用的方式,就可以隔离掉对你的系统的影响。这样就将对B部门系统的依赖降到最低。一定要把整个过程当成两件事情,当整个团队确定要做一件事情,那先要保证你的事情做好了,然后再去看别人的事情做好没有。当然如果需求方在保持沟通过程中发现事情根本不能做,大家都放弃,那是最坏的打算。但不能因为这个理由而拖延项目的开发,以致项目延期。在这种场合就要多做设计,多写点代码,哪怕最后没用上都没关系。我做过的项目,没有中途不变更的,所以还是先考虑设计要紧。

 

刚才说了不要过分关注对未来的扩展,因为你也不能保证你的设计就能符合未来的场景。但是有一些设计还是可以做的,比如,可以将你认为会影响性能的地方抽象化,先做简单的实现。如果在项目上线后发现确实是这里拖了后腿,改动的化也只要改实现而不用重新架构项目。

 

那什么时候可以省代码呢?对那样根本不要重用或者很难重用的东西,可以考虑省代码,省设计。比如一个页面要以5种样子显示,老老实实地做5个页面就行了,不用过分地去设计。A页面显示10条数据3个字段,B页面显示.....如果做抽象设计会绕进去,我尝试过很多次,没有做到一个可以让我满意的方案出来。当然你也可以去尝试,我做不出不代表你做不出,呵呵。

 

一般来说不需要做多种解决方案的也不要过渡地去设计。比如做个日志,你不是要把日志存储到N种设备上就不用考虑设备相关。诚然,做得象log4j那样确实很牛,但common-logging中也提供的简单的实现。一般来说,一个团队形成的积累不用过渡考虑你们根本用不上的场景,那只是增加负担。

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值