BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Refactoring Content on InfoQ

  • Debunking Common Refactoring Misconceptions

    In comparison to Java, an emphasis on continuous refactoring is still relatively new in .NET. Besides having few ardent proponents, many myths linger around what refactoring really is and how it applies to the development process in general. Danijel Arsenovski, author of Professional Refactoring in Visual Basic, attempts to dispel some of these myths.

  • JetBrains Releases ReSharper 4.0 with Many Improvements, C# 3.0 Support

    JetBrains has released the much-anticipated productivity Visual Studio add-in, ReSharper 4.0. Resharper 4.0 includes many improvements and new features.

  • Interview: Michael Stal on Architecture Refactoring

    In this interview, Michael Stal describes what architecture refactoring is about and how it relates to both code refactoring and patterns. He describes some architectural refactorings by giving real work examples from his work as Siemens, and he elaborates on some situations where you may want to avoid doing this kind of refactorings.

  • TDD: Essential Skill or Architectural Landmine?

    At JAOO '07 Bob Martin asserted: "it is irresponsible for a developer to ship a line of code he has not executed in a unit test." In this InfoQ video, Martin debated with another well respected software thought leader, Jim Coplien, on this and other topics, including Design by Contract vs. TDD and how much up-front architecture is needed to keep a system consistent with the business domain model.

  • Continuous Integration And Version Control for Databases

    After asserting that one must, as a rule, always version their database work, Scott Allen detailed an approach to making the best of versioning databases. Allen presented a comprehensive, practical approach to creating a baseline, using change scripts to manage schematic revisions, controlling programmatic database objects, and handling branching and merging.

  • Interview: Patrick Smacchia discusses NDepend and Code Analysis

    Patrick Smacchia, a Microsoft C# MVP, talks about his product NDepend and how it helps resolving issues in your code. Large code bases can be very complex to manage and the right tools make navigating so much easier.

  • Does lines of code kill?

    Steve Yegge touched a nerve in the development community when he argued that keeping the code size to an absolute minimum is the most important thing when developing software. In his view, you may have to sacrifice some design patterns and avoid refactoring at times just to keep the lines of code down. And if your problem is large enough - you may have to switch to another programming language.

  • Opinion: Refactoring is a Necessary Waste

    Refactoring is one of the key technical practices in the Agile developer's toolkit. Refactoring also has no measurable customer value by its very definition - it involves changing the structure (design) while maintaining the behavior. In the Lean world - anything that does not have customer value is waste, and a customer only perceives behavior/functionality and not structure.

  • Volta - the future of web development on .NET?

    Microsoft Live Labs has released Volta - a technology preview of a developer toolset that will enable developers to build multi-tier web applications faster. Announced under the slogan "Web application development using only the materials in the room", Volta allows developers to target either web browsers or the desktop by handling tier-splitting under the covers.

  • Surprising criticism from parting Microsoft development lead

    Jay Bazuzi, once Development Lead for the C# Editor, is leaving Microsoft, and he wrote some surprisingly harsh parting words for his friends before he left; things like “OO isn’t a fad” and that “It’s OK to use someone else’s code”.

  • Aptana Studio 1.0 release, updated RadRails, new commercial edition

    The Eclipse-based Aptana Studio, which includes RDT and the popular RadRails, has released version 1.0. This now also includes a commercial "Professional" version which includes a few select features over the free "Community" version.

  • Volta: Architecture Factoring and Refactoring

    Erik Meijer says "As the world is moving more and more towards the software as services model, we have to come up with practical solutions to build distributed systems that are approachable for normal programmers". Volta's Architecture Refactoring was presented at the SAF this week.

  • QCon Panel: Modifiability - Or is there any design in Agility?

    Many people assume that agile methods mean an absence of design. Design still happens in agile projects, but it shifts from an up-front phase to a continual evolution. Design decisions should be left to the last responsible moment, but some design decisions do need to be made upfront. Martin Fowler explored this topic through a panel discussion at the last QCon.

  • LiquiBase adds Diff, Eclipse Plugin, Support for Additional Databases

    LiquiBase, the database refactoring/migration tool, has had a busy year. Building on the momentum of the 1.0 release LiquiBase added two more minor releases and some point releases, adding support for database diffs, an Eclipse plugin and support for additional databases.

  • Are Agile Development Practices Detrimental to Architecture and Design?

    Is iterative and incremental development à la Agile practices - where one builds only what is required per iteration - detrimental to good design? Does Scrum encourage ignoring architectural issues? Can design and architecture evolve effectively without the technical Agile practices? Does test-first development lead to good design? Or does the red-green-refactor loop stall at local-minima?

BT