maintainability

Do setup/teardown hurt test maintainability?

This seemed to spark a bit of conversation on another question and I thought it worthy to spin into its own question. The DRY principle seems to be our weapon-of-choice for fighting maintenance problems, but what about the maintenance of test code? Do the same rules of thumb apply? A few strong voices in the developer testing communit...

maintaining class library assemblies utilized by multiple projects.

Okay, so here's the scenario. Project A has a class library developed for it (lets call it MyLib). I release project A (in house project) with version 1 of MyLib. I begin development on Project B, but expand MyLib to version 2, including a few optimizations to existing types. If I release Mylib 2 to both Project A and Project B, I'm...

Drupal: updating with Drush doesn't change update status

I've updated my drupal installation and drupal modules, but admin/reports/updates says that Drupal version is still 6.12. To update drupal I ran - drush updatecode - drush updatedb (this updated only modules and said code still needs to be updated manually). Then I uploaded core, unzipped it, allowed to overwrite older versions and again...

For loop construction and code complexity

My group is having some discussion and strong feelings about for loop construction. I have favored loops like: size_t x; for (x = 0; x < LIMIT; ++x) { if (something) { break; } ... } // If we found what we're looking for, process it. if (x < LIMIT) { ... } But others seem to prefe...

Should I use Resharper to tidy up other peoples code?

I use Resharper at work. Some of my colleagues do not. When I open some code that has been written someone who doesn't, it is immediately obvious by the amount of orange on my screen. What I am unsure of is to what extent I should feel free to tidy up the messes the have unknowingly left. With most of what I am looking at, it is slop...

Maintainability of Java annotations?

My project is slowly implementing Java annotations. Half of the developers - myself included - find that doing anything complex with annotations seems to add to our overall maintenance burden. The other half of the team thinks they're the bee's knees. What's your real-world experience with teams of developers being able to maintain an...

Are the MS MVC framework and jQuery suitable for a long-lived application?

I'm working on a web-based application that is intended to have at least a 6 year lifetime. Once the application is delivered, chances are that it won't be modified during that time frame. We're considering using the asp.net MVC framework and jQuery, but I'm wondering if that's a good choice. The customer is probably not going to want...

Design of an Alternative (Fluent?) Interface for Regular Expressions

I've just seen a huge regex for Java that made me think a little about maintainability of regular expressions in general. I believe that most people - except some badass perl mongers - would agree that regular expressions are hardly maintainable. I was thinking about how this situation could be fixed. So far, the most promising idea I h...

What's the cleanest way to write a multiline string in JavaScript?

It doesn't really have to add newlines, just something readable. Anything better than this? str = "line 1" + "line 2" + "line 3"; ...

When Refactoring a project to improve maintainability, what are some of the things to target?

I've got a project (about 80K LOC) that I'm working on, and I've got nearly a full month of luxury refactoring and feature adding time prior to release so long as I'm careful not to break anything. With that being said, what can I do to improve maintainability. Please not there was no unit testing in place with this project and I'm not...

How to prove my stakeholder and manager my software works?

What do software engineers encounter after another stressfull release? Well, the first thing we encounter in our group are the bugs we have released out in the open. The biggest problem that we as software engineers encounter after a stressfull release is spaghetti-code, also called the big ball of mud. The time and money to chase ...

Mandatory use of braces

As part of a code standards document I wrote awhile back, I enforce "you must always use braces for loops and/or conditional code blocks, even (especially) if they're only one line." Example: // this is wrong if (foo) //bar else //baz while (stuff) //things // This is right. if (foo) { // bar } else { // baz } ...

To aggregate or not to aggregate, that is the database schema design question

If you're doing min/max/avg queries, do you prefer to use aggregation tables or simply query across a range of rows in the raw table? This is obviously a very open-ended question and there's no one right answer, so I'm just looking for people's general suggestions. Assume that the raw data table consists of a timestamp, a numeric foreig...

jQuery Refactoring/Maintaining

I've searched a little bit around SO and haven't found any questions/answers that are helping me. The problem is my jQuery function calls are getting much too large to maintain. I'm wondering if I should be refactoring a lot more or if there is a better way to do all of these calls. You'll see as I make one call, the anonymous functio...

Code Metrics Calculation in Visual Studio

What is the prefered score range for the code metrics calculation for the following Maintainability Index Cyclomatic Complexity Depth of Inheritance class Coupling ...

Maintaining two versions of the same framework and application

We have a framework created in .NET which controls hardware devices. The entire framework uses MEF so it relies heavily on interfaces. For reasons beyond our control we had to change the hardware and that required some breaking changes to some of the interfaces. The project for the old hardware was put on hold for a while and we starte...

On the search for my next great .Net Read

Just got done with "The art of unit testing". It was a great read and i think everyone should go buy a copy. With that said i think the next book I'm like to read would be a architecture / Design type book that would focus heavily on building your objects / software in such a way that it would be: Low Coupling High Cohesion Easily Ma...

Maintaining both free and pro versions of an application

I want to create a PRO version of my application for Android and was wondering how to structure my repository. For know I have a trunk and feature branches. I'd like to put a pro version in another branch but maybe there is a better way? For example, maybe I should create two branches - one for free version, the other for pro? Pro vers...

What particular practices, designs, languages/features enable very easy to maintain code?

What particular practices, designs, languages/features enable very easy to maintain code? ...

Book/tutorial that teaches how to make programs that are easy to maintain and are less coupled?

Hi, I'm a PHP programmer and I really want to increase the quality of my code and most importantly I want to be better at programming. What book, tutorial or article would you guys suggest that I read that teaches how to make programs that are less coupled and easy to maintain? Are there any specific tips for PHP especially for the Cake...