|
A small one to finish the week
Fast love and the big smoke (8)
Enjoy
modified 23-Jun-17 4:12am.
|
|
|
|
|
Velocity
Anag of love = Velo
Big smoke = city
|
|
|
|
|
Well done.
And your prize is...
Your turn monday 
|
|
|
|
|
ermm.... yay, I guess ? 
|
|
|
|
|
Second prize is two goes on Monday!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Just happened to me.
Just spend 2 weeks rewriting complicated code that no one understand into a simpler form.
They all agree that my code was simple. But didn't agree that it is the same thing as the old code. Not because they see any difference, just one the ground it couldn't be related since they didn't understand the previous version.
End of story we don't have time or resource to replace the code. Change goes to the bin....
I forgot to mention. There is a serious problem with the old version that my new version solve. I guess the problem will just remain.., I guess we can talk about it again when the problem becomes very pressing....
[LATER EDIT]
1. my political skills are rather weak.
2. the tech lead surprised me in a nice way, a bit later about that.(basically told me to wait a bit and introduce the change gradually)
modified 23-Jun-17 3:27am.
|
|
|
|
|
Super Lloyd wrote: Change goes to the bin....
Keep a copy, when the problem is very pressing... say you have to retire and think about it, take 3 off days, come back with your solution, deploy it directly, prove that the problem is gone, ask for a rise.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
I guess they've never heard of testing / acceptance criteria?
|
|
|
|
|
no time for testing!
I should have stressed that 1 advantage of my new classes is that they are much easier to test. Being in a standalone library, as opposed to inextricably spaghetified inside the app...
|
|
|
|
|
Super Lloyd wrote: Being in a standalone library,
It only took you two weeks to refactor this code, there are no unit tests and your solution involved putting it into its own library?
Just saying those factors would scream high risk to me.
|
|
|
|
|
On the other hand they claim they want automated unit test on each part of the application.
I just did that for one part. The one that interested me. And also solved a long standing bug for it.
But I am not too worry. We will the long standing bug unsolved. We might spend a few more weeks looking helplessly after it. A solution might be direly needed one day.
Meanwhile I will extend my test app with more automated test as I need them. Until people find it attractive enough. And by app I mean my component library which is really not big a deal to plug in the current app.
|
|
|
|
|
Additionally the only guy who understand that code (he wrote it)
- agrees with me that the intended behavior is relatively simple
- loves my new implementation that is a simple as it should
- I involved him like 10 times a day everyday
- agree with me that updating the app with this is trivial
- love the fact that this code is finally simple and easily testable independantly and automatically.
Now I agree why change anything if it's not broken?
Well, it is broken unfortunately...
and someone who don't understand the current code is afraid that replacing it with my new code is going to be very risky. By this account nothing should ever be done.
|
|
|
|
|
If you don't know what the code does, how can you know you tested all important aspects of it?
If they had tests up front that test all the important behaviors, then the replacement code just needs to pass to give them the confidence to deploy, but obviously, they don't.
|
|
|
|
|
Ah yes - keeping all the code smells in place - a skunk cost fallacy.
|
|
|
|
|
I did that once.
I rewrote a complete application based only on the old code.
I didn't know what it did or how it worked, only that it did something with stocks.
A coworker who didn't know what it did or how it worked either (manually) tested the code (we had no unit tests, documentation, or anything ).
The reason I had to rewrite it is because this application kept giving problems and no one was able to fix it (or a fix introduced new issues).
So two days work and we released the app to production (Acceptance testing? Hah! We don't need no stinkin' acceptance testing ).
And all of a sudden they got a stock of -100000
After a bit of investigating the issue it turned out that I forgot a single if statement
The issue was resolved rather quick, they manually adjusted their stock (which they did once a month anyway) and we sent them a pie for the inconvenience.
After that we never had problems with that app again (so kudo's to me I guess)
|
|
|
|
|
Can you capture or extract inputs+results of actual production usage on the old code?
Get a month or two of transactions from the old code.
Replay it on the new code and verify that they produce identical results.
(Keep the inputs/outputs for future Unit Testing/Regression Testing of the new code)
|
|
|
|
|
This is for an app which controller multiple hardware pieces. I only rewrite a controller for 1 piece.
They don't have automated test, only manual tests which takes ages apparently...
|
|
|
|
|
Super Lloyd wrote: 1. my political skills are rather weak.
Presumably this is a company. Company is there to make money. Does your update, including the fix, objectively produce more money for the company?
If your refactor fails, despite your best intentions, will it cost the company money?
Super Lloyd wrote: basically told me to wait a bit and introduce the change gradually)
How are you going to introduce a complete refactor gradually?
|
|
|
|
|
This is the wrong question. My refactor produce the same result so it does not add immediate value. But by this argument all refactor are useless since they should change the shape while keeping the function.
On the other hand there is a pending bug since before I come that is solved in my refactor standalone app. My standalone library is also easy to extend and can easily support automated test, which the current version does not and apparently there was also talk since before I come to do it....
At any rate the tech lead told me to sneak my new class in later.
And I will keep my test app since I can easily validate hardware behavior with it, so it add value to me at any rate.
|
|
|
|
|
jschell wrote: How are you going to introduce a complete refactor gradually?
There is just 2 class that need be scrapped.
One is valuable for it static event. The other is valuable for its method that I reproduce it all.
It will be a minor change.
My code is (allegedly) big, the insertion is small.
|
|
|
|
|
...I do not want to become friends with my children.
It's been over six years since I have logged in full stop, I don't know and refuse to reset my password and my kids are so glad I told them all those years ago not to try and friend me.
Michael Martin
Australia
"I controlled my laughter and simple said "No,I am very busy,so I can't write any code for you". The moment they heard this all the smiling face turned into a sad looking face and one of them farted. So I had to leave the place as soon as possible."
- Mr.Prakash One Fine Saturday. 24/04/2004
|
|
|
|
|
Wait a minute...your kids are adding their parent to friend list? You must be the coolest father ever.
"It is easy to decipher extraterrestrial signals after deciphering Javascript and VB6 themselves.", ISanti[ ^]
|
|
|
|
|
No they are not. Told them no 8 or so years ago.
Facebook is sending emails recommending them as friends.
Michael Martin
Australia
"I controlled my laughter and simple said "No,I am very busy,so I can't write any code for you". The moment they heard this all the smiling face turned into a sad looking face and one of them farted. So I had to leave the place as soon as possible."
- Mr.Prakash One Fine Saturday. 24/04/2004
|
|
|
|
|
Ah that. Yeah, they think we like everyone.
"It is easy to decipher extraterrestrial signals after deciphering Javascript and VB6 themselves.", ISanti[ ^]
|
|
|
|
|