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

[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: Reinier Post <rp@xxxxxxxxxx>, freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: unit flags/capabilities
From: Andrew Sutton <ansutton@xxxxxxx>
Date: Thu, 29 Nov 2001 14:55:41 -0500

On Thursday 29 November 2001 02:26 pm, Raimar Falke wrote:
> On Thu, Nov 29, 2001 at 12:21:31PM -0500, Andrew Sutton wrote:
> [snip]
> More code has to be avoided. More code means more maintenance. What do
> you think is the primary force behind the canvas unification? And you
> want two parallel implementations of almost the same thing just for
> the sake of extensibility.

that's the thing... more features equals more code. i have to go to kernel 
analogy here: the only way to really avoid the hassles of ensuring 
correctness, maintainability is to make pieces as absolutely simple as 
possible. currently, there's not really a separation of kernel from features 
(modules?) it's just one big soup of code.

> My personal list:
>  1) correctness
>  2) maintainability
>  3) performance
>  4) maybe extensibility

for individual features, that list is good. for a kernel, it is not. all a 
kernel needs to do is balance extensiblity and performance (if it can do 
that, then it is correct). it should be simple enough that it is easily 

> If you see that the current system/implementation isn't capable f
> handling a new case:
>  - take a step back
>  - look at the big picture
>  - think about a solution
>  - refactor (or whatever you call it) (and do this without duplicating
>  too much code, removing is even better)

right... and if you have to keep stepping back, then you know there's a major 
design flaw - or specification flaw.

> You just want to add extensibility without a problem. You don't know
> in which direction you should extend.

not entirely true. there's a certain subset of game elements in the civ 
series that are flexible: units, techs, improvements, tiles, resources, 
nations, actual game rules... there's some others that i'm sure i'm not 
thinking of right now.


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