English 中文(简体)
流程、工具、管理技巧
原标题:Process, Tools, Management Techniques Required For Re-engineering A Java Software Project [closed]

我们不准许对书籍、工具、软件图书馆以及更多的图书馆征求建议的问题。 你可以ed问这个问题,以便用事实和引言回答。

Closed 3 years ago.

我是新团队的一部分,他们试图从遗产代码基(也在 Java撰写)中开发一个新的 Java软件系统,该基数转至核心。 出于公司的政治原因,我们可以 t笑旧的 Java,从新鲜开始。 改观等于承认,他们花了两年时间开发的制度是完整的。 这将导致在团队顶部(即发展管理员、项目经理、建筑师等)上进行滚动。 因此,一支非常强烈的自我保护意识在团队的顶部中扎根,这意味着任何在改弦更张的思想都被抛弃。

This has lead to ask the following question: What would you say are the key processes, tools and software development techniques, a team would need to implement in order to successfully re-engineer/refactor a very rotten legacy code base into a good stable system? This must surely be possible. Are there any good books/websites on the matter?
Thanks

最佳回答
  • define a clear plan of what you re trying to achieve and where you re going
  • write tests for as much new and old code as you can to ensure you re preserving behaviour and creating a good test suite going forward
  • refactor small chunks at a time, it adds up eventually
  • work with discrete vertical slices of functionality if you can to prevent breaking changes cascading through the code
  • make sure you build regularly
  • use source control

基本上,从一开始就应该采用的所有公认的良好做法;

问题回答

首先是古典:

Automated builds & deploy manager Unit tests Fitness tests

一旦有了这些事情,你就非常愿意重新思考和重写整个东西,就很容易要求这种非司法性的人,而不要怀疑你们的再意愿。

我以经验之声发言。

  1. Eclipse - it s refactoring capabilities are very powerful
  2. Patience
  3. Skills. It appears to me that almost every legacy system is bloated , rubbish , rotten or crap . While this is generally true, the non-legacy applications are the same, because the developers writing them are not skilled enough. So have in mind, that if you want to achieve something more than yet-another-rotten system, you have to be very careful with the team skills.

你也许最好把这一想法简单地视为一个新项目,而是以现有的法典为基础。 • 与有关各方合作,准确说明该制度的错误: 构造很差,设计不好,编码不好,不符合要求等(或以上所有)。 视需要修改碎片的构造和设计,并制定一项计划,对碎片进行再设计/重造,使之达到良好的工作秩序。

您适用于新项目的所有最佳做法都在此明确适用:源源控制、自动单位和功能测试、持续整合、夜间建设、同行审查等。





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签