Consolidating java objects

D

Dave

Sounds like you are well rid of him.

Are you still using SourceSafe? That's really going to bite you on the
arse with your developers are working remotely, let alone in separate
timezones. SourceSafe is well... actually not safe for putting your
source in, it sucks for remote access and it cannot handle commits from
different timezones without doing scary things to your repository.

Actually, this was from a project I was on back from 2000 - 2002. My
current project we use CVS and Eclipse. Much nicer than VSS, WebSphere
Studio and VisualAge for Java. But we needed it then for the CICS
beans. Such memories. I learned so much on that project on what not
to do.

We had a few rogue employees like that. The company wasn't doing any
cold backups in Oracle, just rare hot backups. An assistant dba wanted
to help teach them a lesson, so he dropped the user table from
production, with all customer data, userids, passwords. Remember, no
real backup existed other than the hot backups which weren't very
helpful. It took a week of downtime to recover from that.

Needless to say, they fired him within five minutes of him doing that,
because he went right to them and told them what he did and told them
good luck recovering and that he hoped they learned their lesson. They
also only believed in database maintenance once every 2-3 years.
Painful, painful lessons they had to learn.
This is required reading:
http://www.highprogrammer.com/alan/windev/sourcesafe.html

An alleged quote from an unidentified Microsoft employee:

"Visual SourceSafe? It would be safer to print out all your code, run
it through a shredder, and set it on fire."
I remember that quote, I tried many things to convince them to go to
CVS, but they wouldn't listen to me on that one. Oh well.
 
D

Daniel Dyer

Actually, this was from a project I was on back from 2000 - 2002. My
current project we use CVS and Eclipse. Much nicer than VSS, WebSphere
Studio and VisualAge for Java. But we needed it then for the CICS
beans. Such memories. I learned so much on that project on what not
to do.

Glad to hear it (well apart from the Eclipse bit, but that's a whole other
rant...). I thought you'd crossed the line from "likes a challenge" to
"masochist beyond help".

Dan.
 
T

Tom Forsmo

Daniel said:
Again this is communication. It sounds like your developers are working
in isolation, trying to get their little piece done without considering
the bigger picture. Perhaps code reviews would help?

I have to agree with dan here. the problem is not technical per se its
social, and then its technical. First of all it seems that the code is
so badly designed that its easier for the programmers to just think of
them selves when programming instead using the framework. I have worked
with code like that and its terrible, you try your best to rectify the
problem but within the limited set of resources and time you have
available you stop caring in the end. It also does not help when other
programmers and management are not willing to try to do something about
it. The usual management answer is: "I wish we lived in a perfect world
as well... so just try to make do with what you got."

So what you actually need to do is convince management and the other
programmers that some big change need to happen. That you need to hire
an expert architecture and programmer that can help refactor the system
(or design from scratch) and that can act as a mentor for the other
programmers regarding both programming practices. OO and framework
design. This person should also help design and implement a project
development process. Unfortunately you can not explain this by arguing
good programming practices. You have to argue the business case,
economics and sales side of the change, or lack thereof if the changes
are not made.

F. ex. if you can show an estimate that the company will be able to cut
development time and cost by X% because of it or that after the
restructuring is over you probably don't need x number of people on the
project. Or that time to market will decrease by Y%, That it would allow
this and that features for a price that was not really affordable before
etc. That it will allow you to enter a different market you previously
did not have the resource to enter. That this or that
stability/scalability/portability feature can be added which allows you
to sell to some customers you never dreamed of etc.

Increased trustworthiness and excellent support for the business
process/case of the product is views that will go down well with sales
and management and make them more inclined to go along with
restructuring the code.

tom
 
T

Tom Forsmo

Mark said:
That this sort of class should exist at all is a red flag--
it usually indicates you've got a lot of old-school procedural
programmers who are just faking the whole OO thing. Using
getters and setters, instead of just admitting it's a C-style
struct and making all the fields public, means they're probably
not aware of it.

Well, a class like that could be used as a DTO (Data Transfer Object).
So its use could be legitimate, but that depends on the design and its
usage.

tom
 
T

Tom Forsmo

From what I understand I sort of feel sorry for you, but as you say, it
is an opportunity. Just hope you are not going to be frowned upon by the
management.

In any case, it seems to me that you need to involve the programmers.
They have all the information in their heads (is suspect job security is
the culprit), they won't document it but you need access to it. I would
try an approach where you try to elicit the real framework information
from the programmers, perhaps by a couple of meetings or coffee break
chatting, or something. Then you establish what are the central classes
being used, or which should be used. You can then start to redesign a
proper framework and refactor all the supporting classes from there. But
you do need to include the programmers, your work will be wasted. If
necessary, teach them how to use it correctly and show them how they can
do things more efficiently. That is, unless job security is the real
issue here. Perhaps you should start by trying to figure out why they
are reluctant document or why they write the crappy code.

tom
 
T

Tom Forsmo

Dave said:
But they aren't experienced and do not make sophisticated decisions.

Maybe you should try to tech them about programming to interfaces and
redesign the framework from there. It seems that would help a lot.

tom
 
T

Tom Forsmo

Are you still using SourceSafe? That's really going to bite you on the
arse with your developers are working remotely, let alone in separate
timezones. SourceSafe is well... actually not safe for putting your
source in, it sucks for remote access and it cannot handle commits from
different timezones without doing scary things to your repository.

Maybe you should try Subversion instead, its free and well integrated
with many development environments. And more importantly its easy to use
and easy to keep control of your source code.

tom
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,571
Members
45,045
Latest member
DRCM

Latest Threads

Top