|
"Don't show off every day, or you'll stop surprising people. There must always be some novelty left over. The person who displays a little more of it each day keeps up expectations, and no one ever discovers the limits of his talent." Baltasar Gracián Recommended reading:
Full-text of all available at Project Gutenberg, except for Gracian's book.
"The Prince" Nicolo Machiavelli
"The Art of Worldly Wisdom" Baltasar Gracián [^]
"The Art of War" Sun Tzu
"The Art of War" Carl von Clausewitz
"Meditations" Marcus Aurelius
« There is only one difference between a madman and me. The madman thinks he is sane. I know I am mad. » Salvador Dali
|
|
|
|
|
It's funny. (Funny "uh oh", not to be confused with "funny ha ha", see The Animaniacs for more.)
I understand that "Business doesn't understand technology", having been doing this professionally for closer to 30 than 20 years.
But it is continually aMAZING to me how PERFECTLY they have the sign bit switched between "easy" and "impossible".
|
|
|
|
|
Sounds like it might be worth building a plugin framework into your original project? Then you could leave that code clean and do the dirty stuff in each custom plugin
How do you know so much about swallows? Well, you have to know these things when you're a king, you know.
modified 31-Aug-21 21:01pm.
|
|
|
|
|
That happened with a large project of mine; I designed and built a web based dynamic database front end that allowed rapid access to any SQL database on our system and did a ton of other important in house functions; then we got a new marketing guy who decided he couldn't sell it as it was and wanted a new version that completely changed the premise of the original so I had to do six months of rewrites.
He couldn't or wouldn't understand why it took so long to make such "small" changes, and the pressure was to make them very fast as he was selling this promised software to clients; the result was a Frankenstein's monster which was a nightmare to debug and make changes to. The kicker was that nobody actually wanted this new hybrid product and it was canned 6 months later.
Everyone in the office still uses the original version every day.
|
|
|
|
|
|
What you're starting with: Starting structure[^]
What they think you can build: Desired result[^]
The only good thing is that the starting structure already has plenty of what will be in the final result.
Software Zen: delete this;
|
|
|
|
|
When I was doing computer controlled conveyor systems, the phrase that struck terror in my heart was, "It's just like (fill in the blank)."
Yeah, only if you ingest a lot of acid and turn the blueprint sideways and upside down.
They once flew me halfway across the continent to view a system to prepare for a sales presentation on the other half. They picked me up at the airport for the 20 minute drive to the client's site and gave me the blueprints to look over. Aside from the paper they were printed on, there was no similarity. Didn't help the new design was unworkable to boot.
Psychosis at 10
Film at 11
Those who do not remember the past, are doomed to repeat it.
Those who do not remember the past, cannot build upon it.
|
|
|
|
|
Is this new and different thing in addition to the original file checking?
If so, without knowing anything about the architecture, I'd be inclined to say if this new operation is really that different from the original, then just make a totally different set of code to handle that new job, but package it up in the same project.
Make an initial entry point that just takes in a file and an operation to perform, and it just sends the file to the existing code or the new code, depending on the operation.
You can add any number of different operations that are arbitrarily different from each other using separate sets of code.
Being web-based, you can just have different web pages for different operations.
Greg Hall
greghall@bantling.me
|
|
|
|
|
The program was written for basic file integrity. Like, do all the column headers match and do all the required fields have data all the way through. That was all it was intended for, so the processor got an email when a file was accepted and then did his/her job.
The problem is now they are wanting to add persistence. Like is all the data in the same order as the previous load(s), and have we already processed this file into our (completely separate) data system. Which is part of two other planned projects, but don't fit in here.
I was using a factory to get an object, per client, that implemented the command pattern for the rulesets. The list of command objects was injected via another factory. Made things pretty simple. Those objects all just took in a list of the data.
My frustration also has to do with the fact that later with another planned project, I'll have to reimplement this properly (which is how you were talking about another set of code).
The idea is that we will automatically process these files as well,but they are getting impatient and just wanting things hacked onto this project because it will take time to develop the other two pieces.
If it interests you, I just changed the top level command object that comes back from the factory to be a container object, and take a second argument containing the user data needed for previous lookups. It breaks my idea of clean code because a) it no longer implements the uniform command pattern, and b) the top level objects now take an argument that aren't used by the other implementations.
I decided I would leave it the way it was, because a) We're going to do the next step soon and it will make this code irrelivant and b) without more instances I don't see a clear/clean way to refactor it.
Elephant elephant elephant, sunshine sunshine sunshine
|
|
|
|
|
Does anyone else have testers at their company that talk about testing and complain about the dev cycle more than they actually test? I swear, 75-80% of the time I walk over to the testers, they aren't actually testing anything.
The United States invariably does the right thing, after having exhausted every other alternative. -Winston Churchill
America is the only country that went from barbarism to decadence without civilization in between. -Oscar Wilde
Wow, even the French showed a little more spine than that before they got their sh*t pushed in.[^] -Colin Mullikin
|
|
|
|
|
Colin Mullikin wrote: Does anyone else have testers at their company
No, loads of testes though.
Some men are born mediocre, some men achieve mediocrity, and some men have mediocrity thrust upon them.
|
|
|
|
|
Colin Mullikin wrote: they aren't actually testing anything.
Patience?
|
|
|
|
|
Colin Mullikin wrote: I swear, 75-80% of the time I walk over to the testers, they aren't actually testing anything.
While going over there, you are not fixing bugs reported by the testers !!!
Maybe they are just bitching while you are there!!!
I'd rather be phishing!
|
|
|
|
|
Colin Mullikin wrote: they aren't actually testing anything
Oh they are testing. Testing your limits
|
|
|
|
|
They're just waiting for the results of the latest automated test run.
Allegedly.
|
|
|
|
|
Nagy Vilmos wrote: Allegedly.
Allegedly automatic, eh?
Life is too shor
|
|
|
|
|
|
I had that on my work machine for years.
|
|
|
|
|
Or waiting for Windows to reboot after trying to run his app.
Will Rogers never met me.
|
|
|
|
|
Colin Mullikin wrote: Does anyone else have testers at their company
Colin Mullikin wrote: I walk over to the testers, they aren't actually testing anything.
I feel your pain. Testers in an Agile environment, makes for some heated arguments between both sides, and user stories not making it to release.
Our testers are attached to individual project management teams. So, some teams/testers are better than others.
|
|
|
|
|
Take a deep breathe, you don't want to be testikiller.
|
|
|
|
|
Colin Mullikin wrote: Does anyone else have testers at their company
None here.
|
|
|
|
|
I've worked with good testers as well as bad, but they've always been busy.
Good ones busy doing good testing, bad ones busy doing bad testing, but alwasy busy
Try Hovercraft for Android, voted "a game" by players.
|
|
|
|
|
I usually face this..
Irritating but still sometime helpful..
|
|
|
|
|