胖五加油!作为程序员,该如何去挽救一个失败的项目?

  • 时间:
  • 浏览:0

2.到处可不都能不能 静态类、静态土法律法子,都可不都能不能 扩展

怎样摆脱你你这名困境?

当然先撇开政治正确性的问题图片,这样来越多这样来越多 我从技术宽度来探讨下可行性!就如某些回答中说到的,处理很久的项目可不都能不能 足够的耐心,摆正另一方的态度是极为重要的。好了,鸡汤说完,具体为啥在么在操作呢? 从上端的描述看,你你这名是三个 多典型的 monolithic system。其混乱程度估计不亚于我手头哪几个超过10多年的超级老系统的中的代码。补丁上打补丁是常见的事情。行态哪几个的可不都能不能 其次的,假使 能运行,某些哪几个可不都能不能 靠边的。调试哪几个的可不都能不能 无从做起,完可不都能不能 一团乱麻的代码。第一步 理清楚运行代码逻辑。很久系统无法Debug,都可不都能不能 就并不Debug。很久系统无法Debug,都可不都能不能 就并不Debug。很久系统无法Debug,都可不都能不能 就并不Debug。开发过程中,Debug是可不都能不能 可不都能不能 的?并非 ,很久可不都能不能 所有的语言和IDE后会提供很强大Debug功能,某些都可不都能不能很弱的Debug,某些甚至都都可不都能不能 。都可不都能不能 哪几个语言是怎样保证代码否是写对呢?其中三个 多辅助手段这样来越多这样来越多 我输出非常完善Log信息。一段可不都能不能 代替Debug的Log应该含晒 以下某些基本的内容:1.某段逻辑代码的输入参数值2.关键性上端变量的值3.逻辑代码的输出参数值4.第三方库调用很久的输入参数值,比如SQL话语,第三方函数的输入值5.第三方库调用很久的输出参数值6.输出Log所在的类名,函数名,有条件的可不都能不能 输出行数7.距离上一根绳子 Log输出的时间差 (这样来越多这样来越多 我前一根绳子 Log信息输出很久,过了几个毫秒的运行时间)8.程序运行池ID9.客户端调用IP10.服务器程序运行池池版本号11.Exception信息其完整篇 程度是有个标准的,这样来越多这样来越多 我可不都能不能 根据哪几个信息做现场还原为准。以可不都能不能 够还原现场了,就足够了,很久 就根据还原现场缺少主次去加在。稍微解释下1-5是输出值的,你你这名是用来检查逻辑否是正常运行的。6 是用来代码定位7 用来性能调优8 是预防程序运行池池模式下Log信息混杂在一齐无法分离9 是用来和客户端联调10 是用来快速迭代的很久区分Log版本11 是用来保存运行中的各种Exception这样来越多这样来越多 我系统是多客户端调用的,都可不都能不能 日志输出的文件,可不都能不能 每个客户端IP三个 多文件夹,分开保存。很久一次调用逻辑就会处在三个 多文件里。这样多辛苦的从三个 多大日志里把某个IP的信息单独分离出来。很久的Log信息除了代替Debug之外,可不都能不能 保留一切运行信息,对于某些另一方Debug都可不都能不能 发现的Bug的追踪是非常有用的。比如题主你你这名混乱的系统,就可不都能不能 从日志系统很久刚开始英文英文改造。首先有个好处是修改日志系统,这样多影响运行逻辑,这样多把系统改坏掉。引入三个 多新的日志接口,可不都能不能 包装你另一方喜欢的Log框架,很久另一方编写的日志。统一好日志接口很久,可不都能不能 在另一方写到的代码中加入新的日志,很久可不都能不能 分析代码中随时加入以及修改旧的日志接口代码。很久慢慢的搞上个把个月,基本上某些常见的运行逻辑后会理的很清楚了。在你你这名基础上,来处理某些简单的重构活动,应该不成问题图片了。【说实话,我现在做开发,很久很习惯用Log代替Debug了,不先写好三个 多完善的Log系统,可不都能不能 会写代码了。。。。】--------------关于Log问题图片的评论问题图片补充答案-----------Log系统代码没几行的,我代码中核心的主次都可不都能不能几十行,算上配置代码,以及实物调用的wrapper代码,总共也这样来越多这样来越多 我百来行。主要还是三个 多设计思路的问题图片。怎样下发最多信息以及不影响整体性能。设计思路在上端很久说的很清楚了。--------------15年8月31日更新--------------最近事多,慢慢补基本上一份逻辑繁复,很久定义混乱很久某些从代码宽度无法探清运行逻辑的,通过运行日志是理清楚其运行逻辑的。假使 重写的代码的运行逻辑和旧系统的运行逻辑是一致的,都可不都能不能 这两主次的代码是可不都能不能 完整篇 互相替代的。很久 在大幅度重构很久,太难做的一件事情这样来越多这样来越多 我 删除代码第二步,删代码和改注释删除代码和修改注释,也是有某种繁复系统代码,一齐和增加Log代码一样,这样多影响很久的逻辑。作为程序运行池池员,有不少的代码很辛苦的写出来很久,会很久各种原应分析被弃用。于是哪几个代码这样来越多这样来越多 我成了鸡肋了。 弃之可惜,食之无味。一方面是辛苦写出来的,很久删除掉,跟我说下次另一方不见得都都可不都能不能完整篇 的再写一次一样的逻辑。很久 的确当前又用不上。于是先注释掉,留待后用很久的想法是自然会再次一直出现的。我另一方可不都能不能 很久的想法,也一直想留下某些废弃的代码留待将来很久复用主次。很久 实际上,你你这名切并都可不都能不能 卵用。废弃代码重新启用的很久性在同三个 多项目中基本是不很久的。都可不都能不能 为啥在么在心安理得的删除呢? 当然是源代码管理了,都可不都能不能有个Git很久Svn在,就可不都能不能 凶狠的删除掉了。“万一有用,找下旧版本的代码就好”,很久的自我心理安慰就很容易了,下手也就更狠了。注释主次也是都可不都能不能 ,老代码的注释,很久过低维护,老只是注释和代码逻辑再次一直出现不一致的请况。很久的注释,要么删除,要么改掉。有源代码管理,随便删除废代码,随便改注释。出了问题图片,代码滚回去【Rollback】就好了。

有都可不都能不能 创业失败而东山再起的?来分享一下经验!

还都可不都能不能 创业,分享不了

12.分包分得一团糟,既想按照功能分,又想按照业务分,都可不都能不能 把握好,稀里糊涂的

6.300行的大jsp、大类、30行的大土法律法子、多达17个参数的土法律法子,喜欢写万能函数

24.整个团队都都可不都能不能 代码质量追求,习惯了烂代码

若要重构,很久要一齐维护三个 多版本,很久 重构风险很大,一旦出事,将影响TL的前途。

17.每个作者都喜欢另一方搞一套,过低共识,本人 为战,各种约定、各玩各的

11.这样来越多这样来越多 作者这样多开源工具包,喜欢另一方搞一套,有炫技嫌疑,实际上搞得很烂

9.混杂的代码风格,花括号行尾、换行可不都能不能 ,缩进用tab、2空格、4空格、8空格,紧凑风格和松散风格可不都能不能

开发平均薪资估计12k,你以为写出很久的代码。

5.另一方写了个Dao,另一方手动管理事务,到处拼sql,六七三个 字段的表,每个操作都重复拼

7.不写注释、不写文档

13.土法律法子、变量命名词不达意,一直在getXXX、isXXX的土法律法子里改传入参数,但又反回值,从命名就能看出作者词汇量狭窄、思维局限

1.一半的bean用spring管理,另一半的bean另一方new很久用单例模式,spring的包扫描配错了,但两年时间一直都可不都能不能 改过来

14.对spring、spring mvc了解和利用严重过低,框架支持得很好的功能,都可不都能不能另一方写

3.在低基数、低频率的搜索上写优化算法,算法和业务逻辑搅在一齐,都可不都能不能 分开为三个 多层面

22.代码重复度很高,一段逻辑,到处好友克隆粘贴

你你这名项目,是该公司交易系统的核心,每周大慨4次发布,迭代时延很高。

往上端加逻辑异常困难、很容易一直出问题图片,开发和QA都心力交瘁,新逻辑可不都能不能 hack进去的,会加重代码腐烂。

19.到处可不都能不能 HashMap,而这样多java bean;三个 多HttpServletRequest调了五六层土法律法子;另一方手工拼json字符串;拼email的html body,这样多模板

21.到处可不都能不能 main土法律法子,这样多单元测试

20.页面还是jsp,jsp里写了大量的业务逻辑,甚至通过httpclient去抓别的项目,抓回来内容嵌在当前页面里

16.大片的被注掉的代码留在项目里,到处可不都能不能 ,某些废弃的类和废弃的配置文件都可不都能不能 删掉

各位在写程序运行池池时很久生活含晒 遇到过失败吗?您是怎样看到失败的?

我坚信都可不都能不能 几另一方都可不都能不能 遇到过失败,当然我是属于多数。遇到失败了,才知道问题图片出在哪了,你看到了失败,就证明你在向胜利招手。

有遇到过项目不符合要求而推倒重来的吗?

你你这名还真没遇到过

作为程序运行池池员,该怎样去挽救三个 多失败的项目?

最近到三个 多新公司,接手三个 多很烂的项目,发现某些问题图片:

8.log4j和logbak混用,各占一半

18.该打日志的地方都可不都能不能 打,原应分析某些工单成了无头案,某些地方,又重复打日志,啰里啰嗦

4.业务配置文件过于繁复,过度设计,你以为是事件模式解析

15.pom依赖关系一团糟,各种重复引包、重复依赖,httpclient竟然多达三个 多版本

23.数据库表设计很烂,原应分析不好查(比如用逗号分隔的串),较老得表甚至毫无注释(生产环境)

10.某些作者喜欢用反射调代码,没土法律法子用ide跟踪