TweetFollow Us on Twitter

Code Assets
Volume Number:10
Issue Number:2
Column Tag:Inside Information

Source Code Assets

Rewrite vs. Reuse

By Chris Espinosa, Apple Computer, Inc., MacTech Magazine Regular Contributing Author

A couple of issues ago I wrote about code reuse, and how developers who create multiple related products can save time and money by investing a little up front in good, reusable code. I stand by that idea, but a friend of mine in the development community has proposed a pretty audacious alternative.

Reusable design is great, he says, but the source code itself is expendable. You should plan to depreciate and replace your source code just like any other asset of your company, like office equipment.

For those of us who’ve grown up in the software business, this is a pretty radical idea, because of our attitude towards the preciousness of source code. Source code is the family jewels, it’s the secret recipe to how your application delivers its unique functionality. You keep it locked up; you don’t print listings in the manual; you make sure your competitors can’t get their hands on it. Otherwise, the logic goes, somebody will take your hard work and steal it. They’ll be able to deliver the benefits of your design and your algorigthms without the labor of inventing them, and not only take some of your market share and revenues, but profit more from it too.

This is reasonable, but it’s created a protectionist attitude towards source code. Obviously, anything that is of such value to your competitors must be of value to you, too. I remember a very old Peanuts comic strip where Lucy stands on one side of a closed door eating candy while Linus suffers on the other side of the door. She calls the candy “Spite Candy,” and admits that “the problem with Spite Candy is that it never tastes very good.”

The problem with holding on to the source code that’s the secret to your success is that it can hold you back. If you give them enough time, your competitors won’t need to abscond with your source; they will have written their own that’s designed better and implemented better, and they’ll take your customers rightfully.

This doesn’t mean you should rewrite your application from scratch every release. Of course you can’t; it’s too much work. And everybody knows that rewriting code can introduce bugs that take time to fix, or can disturb the backwards compatibility of the application. Nobody wants to explain that a feature in the last release works differently now because you “fixed” it.

But still, if your program has been on the market for a few years and there are other, newer competitors in your category, you have to do something other than just adding features and keeping up with the OS and hardware advances. Otherwise the “legacy” code in your application will weigh down the whole structure and decrease your ability to stay competitive.

The trick is to change your attitude about the source code. Treat it like your grandfather’s axe (as in the old saw: I still have the axe my grandfather used, though I’ve replaced the handle three times and the head once.) Institute a program of periodic refurbishing of the source, module by module, with the aim of having 100% turnover over a period of a few years. But do it a little at a time, so that the inevitable bugs you introduce can be isolated and fixed.

Focus on modernizing the code and improving the efficiency of each module. In doing this you may discover that some modules are the code equivalent of the appendix or tonsils: once useful, now annoying. You may see old code in a new light, and be able to swipe code from one product for use in another. And eventually you may get inspired on how to design a second-generation application, with an architecture that adds years of life to the application.

You have a unique and valuable asset in your source code. But you should do more with it than keep it locked up except when you’re sending it through the compiler for another minor rev. Though opening up long-closed source files is annoying and risky, you need to air it out every once in a while. Stop taking your assets for granted. Understand that if you leave it alone, it depreciates just like any other material object you own; but if you constantly refurbish and replace its source code, you can add years of marketable life to your application.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Latest Forum Discussions

See All

Combo Quest (Games)
Combo Quest 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: Combo Quest is an epic, time tap role-playing adventure. In this unique masterpiece, you are a knight on a heroic quest to retrieve... | Read more »
Hero Emblems (Games)
Hero Emblems 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: ** 25% OFF for a limited time to celebrate the release ** ** Note for iPhone 6 user: If it doesn't run fullscreen on your device... | Read more »
Puzzle Blitz (Games)
Puzzle Blitz 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Puzzle Blitz is a frantic puzzle solving race against the clock! Solve as many puzzles as you can, before time runs out! You have... | Read more »
Sky Patrol (Games)
Sky Patrol 1.0.1 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0.1 (iTunes) Description: 'Strategic Twist On The Classic Shooter Genre' - Indie Game Mag... | Read more »
The Princess Bride - The Official Game...
The Princess Bride - The Official Game 1.1 Device: iOS Universal Category: Games Price: $3.99, Version: 1.1 (iTunes) Description: An epic game based on the beloved classic movie? Inconceivable! Play the world of The Princess Bride... | Read more »
Frozen Synapse (Games)
Frozen Synapse 1.0 Device: iOS iPhone Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Frozen Synapse is a multi-award-winning tactical game. (Full cross-play with desktop and tablet versions) 9/10 Edge 9/10 Eurogamer... | Read more »
Space Marshals (Games)
Space Marshals 1.0.1 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.1 (iTunes) Description: ### IMPORTANT ### Please note that iPhone 4 is not supported. Space Marshals is a Sci-fi Wild West adventure taking place... | Read more »
Battle Slimes (Games)
Battle Slimes 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: BATTLE SLIMES is a fun local multiplayer game. Control speedy & bouncy slime blobs as you compete with friends and family.... | Read more »
Spectrum - 3D Avenue (Games)
Spectrum - 3D Avenue 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: "Spectrum is a pretty cool take on twitchy/reaction-based gameplay with enough complexity and style to stand out from the... | Read more »
Drop Wizard (Games)
Drop Wizard 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Bring back the joy of arcade games! Drop Wizard is an action arcade game where you play as Teo, a wizard on a quest to save his... | Read more »

Price Scanner via MacPrices.net

Our MacBook Price Trackers will show you the...
Our Apple award-winning MacBook Price Trackers are continually updated with the latest information on prices, bundles, and availability for 16″ and 14″ MacBook Pros along with 13″ and 15″ MacBook... Read more
Amazon is offering a 10% discount on Apple’s...
Don’t pay full price! Amazon has 16-inch M4 Pro MacBook Pros (Silver and Black colors) on sale today for 10% off Apple’s MSRP. Shipping is free. These are the lowest prices currently available for 16... Read more
13-inch M4 MacBook Airs on sale for $150 off...
Amazon has new 13″ M4 MacBook Airs on sale for $150 off MSRP right now, starting at $849. Sale prices apply to most colors and configurations. Be sure to select Amazon as the seller, rather than a... Read more
15-inch M4 MacBook Airs on sale for $150 off...
Amazon has new 15″ M4 MacBook Airs on sale for $150 off Apple’s MSRP, starting at $1049. Be sure to select Amazon as the seller, rather than a third-party: – 15″ M4 MacBook Air (16GB/256GB): $1049, $... Read more
Amazon is offering a $50 discount on Apple’s...
Amazon has Apple’s 11th-generation A16 iPads in stock on sale for $50 (or a little more) off MSRP this week. Shipping is free: – 11″ 11th-generation 128GB WiFi iPads: $299 $50 off MSRP – 11″ 11th-... Read more
Clearance 13-inch M1 MacBook Airs available f...
Walmart has clearance, but new, Apple 13″ M1 MacBook Airs (8GB RAM, 256GB SSD) available online for $649, $360 off original MSRP, in Space Gray, Silver, and Gold colors. These are new MacBooks for... Read more
iPad minis on sale for $100 off Apple’s MSRP...
Amazon is offering $100 discounts (up to 20% off) on Apple’s newest 2024 WiFi iPad minis, each with free shipping. These are the lowest prices available for new minis among the Apple retailers we... Read more
AirPods Max headphones on sale for $479, $70...
Amazon has AirPods Max with USB-C on sale for $479.99 in all colors. Shipping is free. Their price is $70 off Apple’s MSRP, and it’s the lowest price available today for AirPods Max. Keep an eye on... Read more
14-inch M4 Pro/M4 Max MacBook Pros on sale th...
Don’t pay full price! Get a new 14″ MacBook Pro with an M4 Pro or M4 Max CPU for up to $320 off Apple’s MSRP this weekend at these retailers…they are the lowest prices available for these MacBook... Read more
Get a 15-inch M4 MacBook Air for $150 off App...
A couple of Apple retailers are offering $150 discounts on new 15″ M4 MacBook Airs this weekend. Prices at these retailers start at $1049: (1): Amazon has new 15″ M4 MacBook Airs on sale for $150 off... Read more

Jobs Board

All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.