InfoQ Homepage Refactoring Content on InfoQ
-
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?
-
Agile, Architecture and the 5am Production Problem
What does "just enough architecture" mean? Can we agree on this? The answers from FDD and XP seem divergent. Michael Nygard, author of Release It! unravels the story of a production problem which typical Agile approaches would not have prevented, asserting that Agile teams may need to attend more to architecture, if they want to sleep through the night once it's deployed in the real world.
-
Database Migration and Refactoring with LiquiBase
In recent years, there has been a fair amount of discussion developing databases through a series of fine-grained, trackable changes with automatic migration, sometimes called 'database refactoring'. If you're not using ActiveRecord in Ruby on Rails, and particularly if you're using Java, LiquiBase is an interesting candidate: an open-source tool for database refactoring and migration.
-
Domain-Driven Design Case Study: So We Thought We Knew Money
Ying Hu and Sam Peng show how they solved some major problems dealing with international currency by selectively applying Domain-Driven Design to their existing application.
-
Presentation: Bob Martin's Principles of Agile Design
Bob Martin of Object Mentor presents the first of his five principles of agile design. Beginning with an explanation of the real purpose of object-oriented design - the management of dependencies - Bob walks through a code example to illustrate how dependencies can be managed with abstractions, and that good designs are those in which high-level abstractions do not depend on low-level details.
-
Case Study: Developing a Custom Agile Practice Adoption Strategy
Teams can get sidetracked by process when implementing Agile: they spin, trying to figure out which practices to start with, unsure which will have the biggest impact, or how they fit together. In their InfoQ case study, Amr Elssamadisy and John Mufarrige develop a customized adoption approach to help a team decide where to focus first - an alternative to adoption of pre-packaged methodologies.
-
Ruby Version of Refactoring In the Works
Martin Fowler's venerable Refactoring book is getting a facelift. Noted Rubyist Jay Fields today announced that he and a team of ThoughtWorks Ruby experts are busy "porting" the book from Java to Ruby.
-
Visual Studio for Database Professionals Released
Microsoft has developed what they call "tools for building SQL databases in a managed project environment with support for versioning, deployment, unit testing, refactoring, and off-line SQL development." These tools, released under the name Visual Studio for Database Professionals, claim to offer a way to develop databases in the same off-line fashion as traditional applications.
-
Test Driven Database Development
Scott Ambler thinks it's time to raise the bar on data quality: he suggests teams should adapt well accepted TDD code quality practices to database development, since data is a valuable corporate asset. His article in September's TASSQuarterly magazine presents his "Test Driven Database Development" (TDDD) which, just like TDD, combines test-first practices and refactoring.