Monday, July 10, 2006

How are we really taking advantage of code reusability?

This is something we always wanted, and now we have the tools to take advantage of it, but yet, the way companies are structured, there's no interest in having a universal library of coding modules.

I mean we like cflib.org, it feels a niche, but we need something a step up, where we can share full coding modules.

And this is also part of the difference between coders and designers, designers can show web designs and portfolio's, what can we really show?

So to fulfill two needs, our community should create a new type of modulare code sharing.

Here are my simplistic ideas for the structure of this code sharing community.

People would submit code, and put it into a category, registered members would review, and rate the code.

The code submitted should be framework neutral, something that could be used in almost any method. That of course could change as the amount code modules were available.

You can view the code, download the code, test the code, except code that is database specific, or File IO Specific.

Also other members can try to compete against the same code goal, and see if they can write it better in any of the following ways:

1. Clearer Documentation
2. Scalible to different levels of needs
3. Can it be done in less lines of functionality
4. Is there a version of it, in each of the popular frameworks of the times?

Etc. Keep it simple at first, but competition would provide coding examples of what good code was, and make good code available to beginners, or those who want to deliver products/services faster.

Rapid Application Development

There would also be a Dreamweaver Extension or Webservice, where you can browse, view, or download modules as you had a need for it.

I just had the idea, does this interest people?

What do you expect to be at new cf jobs?

I mean as we get more experienced, we have certain expectations of the way the development environment is setup. And each of us may slightly vary on that list, or what solutions.

When I start a new job, I expect:

1. Source Control
2. Coding Style Documentation or at least an example
3. Development Life Cycle, of where we do code from development to production
4. Project Management Process/System: So I know how to correctly manage my time, especially since there usually is a lot of multi-tasking.
5. Am I working alone or as part of a team, and how is the division of labor of that team organized?
6. What kind of training or training support is there?
7. What is the architecture of the code and database?

That's my basic list, what is your list?