Complete.Org: Mailing Lists: Archives: freeciv-dev: November 2001:
[Freeciv-Dev] Re: unit flags/capabilities
Home

[Freeciv-Dev] Re: unit flags/capabilities

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: rf13@xxxxxxxxxxxxxxxxxxxxxx, Raimar Falke <hawk@xxxxxxxxxxxxxxxxxxxxxxx>
Cc: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: unit flags/capabilities
From: Andrew Sutton <ansutton@xxxxxxx>
Date: Thu, 29 Nov 2001 11:20:47 -0500

> To finish this: without need or benefit _I_ (you may ask another
> maintainer) will not include code which will be dead till some use
> arise.

if anybody else is reading this thread, can somebody please give some reasons 
for including a more capable implementation of unit capability encapsulation 
that coexists with the older implementation?

it would be a shame to not include it because extensibility isn't an 
immediate goal of freeciv. or is it? lets see... extensible rule sets, units, 
technologies.

just because you don't see an immediate need doesn't mean it shouldn't be 
included for future development. not all development focuses an addition of 
features. at some point, the framework WILL need to change to accomodate the 
influx of additional or desired features.

there's a very common software idiom that goes something like: "the 
development time of a feature will lengthen for every feature added until it 
eventually gets to be longer than the development of the application itself." 
the only way to alleviate this is to anticipate the needs of feature addition 
and build the application accordingly.

besides, it's a benign patch and adds no complexity to the application as a 
whole. even when people decide to use it, it can be used in conjunction with 
the older model.

> Same question: what benefits will the inheritance model bring? Just to
> be more oject oriented?

absolutely. functional software has been proven to be much harder to maintain 
in complex applications than in object oriented applications. oo is 
conceptually easier to grasp because it approximates the way people actually 
comprehend the concepts involved.

for example, we all know that a settler is a unit. but a settler has 
capabilities and properties that other units do not. it extends the concept 
of a unit in the same sense that a car extends the concept of a vehicle.

andy


[Prev in Thread] Current Thread [Next in Thread]