Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Refactor Heaven
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  1 message - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post will appear after it is approved by moderators
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Paul Marrington  
View profile  
 More options Sep 13, 6:28 pm
From: Paul Marrington <paul.marrington....@gmail.com>
Date: Sun, 13 Sep 2009 15:28:53 -0700 (PDT)
Local: Sun, Sep 13 2009 6:28 pm
Subject: [Adept Software Development] Refactor Heaven

[http://golfadept.com]
One of the reasons I considered creating Trogger (The Travel Log) is
that it has a lot of common functionality with Golf Adept - for both
the mobile application and the server side. Modern development thinking
is that we should not write code that is not needed. With modern
refactoring IDEs this is now not only possible but a pleasure. Look at
the history of the Golf Adept mobile code. Originally there was
GolfAdept Then when I needed to create a version for Android I
refactored the code into GolfAdeptMidlet (and GolfAdeptAndroid)
and;GolfAdeptCommon Given that 90% of the mobile code for Trogger is
common with Golf Adept, more refactoring was in order. mobile.common
and;mobile.midlet.common and;mobile.golfadept.common
and;mobile.golfadept.midlet with a similar set for Trogger. Modern
thinking is that we should not develop, keep or maintain code that is
not currently in use. It is true that almost every developer has
written code for an eventuality that never happened. It is equally true
that if you don't consider future requirements then your code will not
be reusable. With J2ME being an old and out-of-favour platform I needed
to consider other platforms from the first line of code. This amounted
to a single decision. Create a clear separation between business logic
and I/O code. This worked well for the Android port. I can also
automatically generate business logic code for the iPhone and Windows
Mobile in C++ while only having to rewrite the much smaller platform
specific section. mobile.common has 4,869 code lines
and;mobile.midlet.common has 770 code lines and;mobile.golfadept.common
has 2,541 code lines and;mobile.golfadept.midlet has 10 code lines The
application specific midlet code is not just a boot-strap. Platform
dependent code is not clearly separated and takes up about 10% of the
code base. Because of the core common code I managed to write the base
Trogger application in less than 2 days. It might take me a full 5 days
to add all the frills I want. Similar refactoring was needed for the
server side (Python on the Google Appengine). I will save that for
another discussion.

--
Posted By Paul Marrington to Adept Software Development at 9/14/2009
08:12:00 AM


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google