Other People's Code
-
With the applications that I've had to take over these past 12 months, I've learnt to scream in silence as the previous dev's are no longer around. I've seen one application with all the controller actions, business logic and models in one file over 3000 lines long Another application is written in MVC (no issue there), 47 business logic projects for each schema - nothing more than simple database logic in each project. Typescript used for the navigation and JQuery used for the validation
Every day, thousands of innocent plants are killed by vegetarians. Help end the violence EAT BACON
Simon_Whale wrote:
the previous dev's are no longer around
Oh I hate that.
Simon_Whale wrote:
Another application is written in MVC (no issue there), 47 business logic projects for each schema - nothing more than simple database logic in each project. Typescript used for the navigation and JQuery used for the validation
What a mess. Probably some was a cut, paste, and modify job (navigation vs validation) I don't envy you. I really don't like bizdev. I find it tedious, usually repetitive and often suffering from "designed by committee" syndrome because the client, the employer, and the devs each have their agendas. Outside of front end web development, business applications like online storefronts are my least favorite.
Real programmers use butterflies
-
honey the codewitch wrote:
you should be forced to use it
The irony is in many many cases, I can just look at the code and figure out how to break it. Forget trying. :laugh:
Latest Articles:
Proxy class for TypeScript/Intellisense DOM manipulationRight? I spent part of my youth going places online where i wasn't supposed to be, by breaking things like printd which for some reason a lot of people kept public facing back in the day. I learned a lot but when I grew up I put away childish things, to paraphrase Paul. I have a knack for breaking things that might even surpass my knack for creating things (i guess entropy is easier though :) )
Real programmers use butterflies
-
Maybe you feel similar about it as I do - before approaching Other People's Code, poke it with a stick from a distance. As I've coded I've become less judgmental of other styles, but not of lack of craft (code with anti-patterns, obvious bugs, or just rube goldberg contraptions) Still at the end of the day, if you build something, you should be forced to use it/rely on it. Suddenly software would be a lot less rickety. :laugh:
Real programmers use butterflies
I dislike your opinion (but like you still). Others people code is great; yours is, innit? For me, your code is. I don't like VB6; but there was a German company paying money for this brownfield (an existing [succesful] project) nearby. Best lunches ever, by the way. We had German meats, and cheap. And lots of coffee. I learned a lot from others people code', and happy with that; the project was several years old, containing code of several (intelligent, but not know-it-all) people. Accumulated knowledge of ten people, over several years. A brownfield in every way, but success written all over it. Our company made money and I learned from other's mistakes and their sometimes brilliant ideas (no sarcasm, YET). Then there's this monthly report, relying on "bits" encoded as strings. So a 0 for no, 1 for yes, but as a VARCHAR string. Putting that in a (Crystal) report, asking why it is slow. Most of out code was like that, but users found it workable. Reason was one of our programmers had the idea that it'd be efficient to store bits as a string. That idiot was my boss. He knew better than the accumulated knowledge of the codebase, because his title was "manager". He made the judgement to do a total rewrite, instead of a gradual migration. Within a two years the company died. I've not become less judgmental, but a lot more. If I don't like your code, I'll delete it and commit the improvement. No explanation either. Those who want to learn will ask what they did wrong; all the others don't deserve to be writing code in the first place. As you could guess, he was promoted and I was fired, and I made it pretty clear to be happy with that situation. Others' people code is mostly a learning experience; it contains the combined efforts of all programmers involved in the years it existed - so respect the brownfield, you may learn from it. You may prefer a greenfield, but it will never be as mature as a brownfield. Existing products with a predictive revenue are to be treasured. If you new to the field, go for a brownfield and learn. Dis years ago. Do we hold a grudge? Aw, we do. Aw, yes, we do. CodeProject knows our temperament. It harsh, but honest. We don't forgive. We don't forget. And we need not be anonymous, we sign with our name and be proud. Bismallah, pray to us. Pray to us; if you include enough silver, we might actually answer which Allah would not. AND IF THERE ANY GODS LEFT TO CHALLENGE US, BISMALLAH, THEY BETTER LEARN QUICKLY.
Bastard Programmer from Hell :
-
I dislike your opinion (but like you still). Others people code is great; yours is, innit? For me, your code is. I don't like VB6; but there was a German company paying money for this brownfield (an existing [succesful] project) nearby. Best lunches ever, by the way. We had German meats, and cheap. And lots of coffee. I learned a lot from others people code', and happy with that; the project was several years old, containing code of several (intelligent, but not know-it-all) people. Accumulated knowledge of ten people, over several years. A brownfield in every way, but success written all over it. Our company made money and I learned from other's mistakes and their sometimes brilliant ideas (no sarcasm, YET). Then there's this monthly report, relying on "bits" encoded as strings. So a 0 for no, 1 for yes, but as a VARCHAR string. Putting that in a (Crystal) report, asking why it is slow. Most of out code was like that, but users found it workable. Reason was one of our programmers had the idea that it'd be efficient to store bits as a string. That idiot was my boss. He knew better than the accumulated knowledge of the codebase, because his title was "manager". He made the judgement to do a total rewrite, instead of a gradual migration. Within a two years the company died. I've not become less judgmental, but a lot more. If I don't like your code, I'll delete it and commit the improvement. No explanation either. Those who want to learn will ask what they did wrong; all the others don't deserve to be writing code in the first place. As you could guess, he was promoted and I was fired, and I made it pretty clear to be happy with that situation. Others' people code is mostly a learning experience; it contains the combined efforts of all programmers involved in the years it existed - so respect the brownfield, you may learn from it. You may prefer a greenfield, but it will never be as mature as a brownfield. Existing products with a predictive revenue are to be treasured. If you new to the field, go for a brownfield and learn. Dis years ago. Do we hold a grudge? Aw, we do. Aw, yes, we do. CodeProject knows our temperament. It harsh, but honest. We don't forgive. We don't forget. And we need not be anonymous, we sign with our name and be proud. Bismallah, pray to us. Pray to us; if you include enough silver, we might actually answer which Allah would not. AND IF THERE ANY GODS LEFT TO CHALLENGE US, BISMALLAH, THEY BETTER LEARN QUICKLY.
Bastard Programmer from Hell :
I don't disagree with you. The post was intended as tongue-in-cheek, and something to reflect that (at least I think) most of us have experienced having inherited a nightmare codebase. Honey is my name. I don't use my last name online because I don't need employers nor recruiters to be able to troll my online profile without my permission. I'm not ashamed of being somewhat anonymous. I do use my personal pictures online as my avatar, and like I said, my first name. That's enough to keep me out of most google searches. I don't believe people should have that sort of power over other people.
Real programmers use butterflies
-
I don't disagree with you. The post was intended as tongue-in-cheek, and something to reflect that (at least I think) most of us have experienced having inherited a nightmare codebase. Honey is my name. I don't use my last name online because I don't need employers nor recruiters to be able to troll my online profile without my permission. I'm not ashamed of being somewhat anonymous. I do use my personal pictures online as my avatar, and like I said, my first name. That's enough to keep me out of most google searches. I don't believe people should have that sort of power over other people.
Real programmers use butterflies
honey the codewitch wrote:
Honey is my name.
Her name is Blue; the most interesting people I know refuse their own name. It is boring mayhaps, but honest.
honey the codewitch wrote:
I don't use my last name online because I don't need employers nor recruiters to be able to troll my online profile without my permission.
They welcome. We not linked in, not on FB, not on twitter.
honey the codewitch wrote:
I do use my personal pictures online as my avatar
I'm a pretty mermaid. YOU SEEN MY PICTURE, DARE DENY IT.
honey the codewitch wrote:
I don't believe people should have that sort of power over other people.
I don't think it is a matter of belief. Lots of people got busted here recently, but none that used my pads. We advertise as being unbreakable (which we are, regardless of your supercomputers), cheap, and easy (my UI). Hers the biggest and most affordable banking system there is; we need not need belief, we can prove the one time pads. Takes a loth of bandwidth, but that is cheap. Any bloody noise will do, including hentai movies. I need not believe. I'll wear a copper suit and challenge your Gods during a thunderstorm. No government gonna break my code. I can prove mathematical unbreakable security. One time pads are not for the internet, but they do work; we bank on it. And I am a pretty mermaid :cool:
Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
-
honey the codewitch wrote:
Honey is my name.
Her name is Blue; the most interesting people I know refuse their own name. It is boring mayhaps, but honest.
honey the codewitch wrote:
I don't use my last name online because I don't need employers nor recruiters to be able to troll my online profile without my permission.
They welcome. We not linked in, not on FB, not on twitter.
honey the codewitch wrote:
I do use my personal pictures online as my avatar
I'm a pretty mermaid. YOU SEEN MY PICTURE, DARE DENY IT.
honey the codewitch wrote:
I don't believe people should have that sort of power over other people.
I don't think it is a matter of belief. Lots of people got busted here recently, but none that used my pads. We advertise as being unbreakable (which we are, regardless of your supercomputers), cheap, and easy (my UI). Hers the biggest and most affordable banking system there is; we need not need belief, we can prove the one time pads. Takes a loth of bandwidth, but that is cheap. Any bloody noise will do, including hentai movies. I need not believe. I'll wear a copper suit and challenge your Gods during a thunderstorm. No government gonna break my code. I can prove mathematical unbreakable security. One time pads are not for the internet, but they do work; we bank on it. And I am a pretty mermaid :cool:
Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
Eddy Vluggen wrote:
I'm a pretty mermaid. YOU SEEN MY PICTURE, DARE DENY IT.
I deny it! You're a demonic cat with Reptilian eyes! Your father was a Lizard and your mother was a Hamster!
Robust Services Core | Software Techniques for Lemmings | Articles
-
Eddy Vluggen wrote:
I'm a pretty mermaid. YOU SEEN MY PICTURE, DARE DENY IT.
I deny it! You're a demonic cat with Reptilian eyes! Your father was a Lizard and your mother was a Hamster!
Robust Services Core | Software Techniques for Lemmings | Articles
Greg Utas wrote:
Your father was a Lizard and your mother was a Hamster!
He smells of elderberries. I am rubber, you are glue.
Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
-
honey the codewitch wrote:
if you build something, you should be forced to use it
:thumbsup: Dogfooding should be mandatory! Either that or be forced to handle end user support for the products you deploy to the world. When my main objective is to keep the support line from ringing, I put a lot more care into what ships. :)
"Go forth into the source" - Neal Morse
Nice idea in principal but maybe not practical in reality. I generally use the code I write a lot, but not the end product. I've worked on sites for holiday companies, insurance companies, printer companies, sweet companies, building companies...in my entire career I think there has been one website I have worked on that I would actually use as an end user. Not because they're bad products, just because I am not the intended consumer.
-
Right? I spent part of my youth going places online where i wasn't supposed to be, by breaking things like printd which for some reason a lot of people kept public facing back in the day. I learned a lot but when I grew up I put away childish things, to paraphrase Paul. I have a knack for breaking things that might even surpass my knack for creating things (i guess entropy is easier though :) )
Real programmers use butterflies
honey the codewitch wrote:
I have a knack for breaking things that might even surpass my knack for creating things (i guess entropy is easier though :) )
I can relate to that, but in my case is not because I see the error, it is because the error finds me. I have had IT problems with things where I had to say "I don't have a clue why that happened" with things that I would have granted as "stable" and nobody else had problems with. I always say... I am a innate beta-tester... other say I am just the "unlucky fellow" :sigh: :doh:
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.
-
honey the codewitch wrote:
Honey is my name.
Her name is Blue; the most interesting people I know refuse their own name. It is boring mayhaps, but honest.
honey the codewitch wrote:
I don't use my last name online because I don't need employers nor recruiters to be able to troll my online profile without my permission.
They welcome. We not linked in, not on FB, not on twitter.
honey the codewitch wrote:
I do use my personal pictures online as my avatar
I'm a pretty mermaid. YOU SEEN MY PICTURE, DARE DENY IT.
honey the codewitch wrote:
I don't believe people should have that sort of power over other people.
I don't think it is a matter of belief. Lots of people got busted here recently, but none that used my pads. We advertise as being unbreakable (which we are, regardless of your supercomputers), cheap, and easy (my UI). Hers the biggest and most affordable banking system there is; we need not need belief, we can prove the one time pads. Takes a loth of bandwidth, but that is cheap. Any bloody noise will do, including hentai movies. I need not believe. I'll wear a copper suit and challenge your Gods during a thunderstorm. No government gonna break my code. I can prove mathematical unbreakable security. One time pads are not for the internet, but they do work; we bank on it. And I am a pretty mermaid :cool:
Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^] "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
Eddy Vluggen wrote:
I'm a pretty mermaid. YOU SEEN MY PICTURE, DARE DENY IT.
I don't dare to deny it, but I would like to delete it from my nightmares... :rolleyes: ;P :laugh: :laugh:
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.
-
honey the codewitch wrote:
I have a knack for breaking things that might even surpass my knack for creating things (i guess entropy is easier though :) )
I can relate to that, but in my case is not because I see the error, it is because the error finds me. I have had IT problems with things where I had to say "I don't have a clue why that happened" with things that I would have granted as "stable" and nobody else had problems with. I always say... I am a innate beta-tester... other say I am just the "unlucky fellow" :sigh: :doh:
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.
That's a superpower! You can do some proper damage if you're strategic about it.
Real programmers use butterflies
-
That's a superpower! You can do some proper damage if you're strategic about it.
Real programmers use butterflies
honey the codewitch wrote:
You can do some proper damage if you're strategic about it.
I can't be stratetgic with things that seem random. If I could I would play lottery. :rolleyes: :-D
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 dislike your opinion (but like you still). Others people code is great; yours is, innit? For me, your code is. I don't like VB6; but there was a German company paying money for this brownfield (an existing [succesful] project) nearby. Best lunches ever, by the way. We had German meats, and cheap. And lots of coffee. I learned a lot from others people code', and happy with that; the project was several years old, containing code of several (intelligent, but not know-it-all) people. Accumulated knowledge of ten people, over several years. A brownfield in every way, but success written all over it. Our company made money and I learned from other's mistakes and their sometimes brilliant ideas (no sarcasm, YET). Then there's this monthly report, relying on "bits" encoded as strings. So a 0 for no, 1 for yes, but as a VARCHAR string. Putting that in a (Crystal) report, asking why it is slow. Most of out code was like that, but users found it workable. Reason was one of our programmers had the idea that it'd be efficient to store bits as a string. That idiot was my boss. He knew better than the accumulated knowledge of the codebase, because his title was "manager". He made the judgement to do a total rewrite, instead of a gradual migration. Within a two years the company died. I've not become less judgmental, but a lot more. If I don't like your code, I'll delete it and commit the improvement. No explanation either. Those who want to learn will ask what they did wrong; all the others don't deserve to be writing code in the first place. As you could guess, he was promoted and I was fired, and I made it pretty clear to be happy with that situation. Others' people code is mostly a learning experience; it contains the combined efforts of all programmers involved in the years it existed - so respect the brownfield, you may learn from it. You may prefer a greenfield, but it will never be as mature as a brownfield. Existing products with a predictive revenue are to be treasured. If you new to the field, go for a brownfield and learn. Dis years ago. Do we hold a grudge? Aw, we do. Aw, yes, we do. CodeProject knows our temperament. It harsh, but honest. We don't forgive. We don't forget. And we need not be anonymous, we sign with our name and be proud. Bismallah, pray to us. Pray to us; if you include enough silver, we might actually answer which Allah would not. AND IF THERE ANY GODS LEFT TO CHALLENGE US, BISMALLAH, THEY BETTER LEARN QUICKLY.
Bastard Programmer from Hell :
Eddy Vluggen wrote:
AND IF THERE ANY GODS LEFT TO CHALLENGE US, BISMALLAH, THEY BETTER LEARN QUICKLY.
OT: is this a quote from somewhere? I'd be interested in knowing the source.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.
-
Eddy Vluggen wrote:
AND IF THERE ANY GODS LEFT TO CHALLENGE US, BISMALLAH, THEY BETTER LEARN QUICKLY.
OT: is this a quote from somewhere? I'd be interested in knowing the source.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.
-
Maybe you feel similar about it as I do - before approaching Other People's Code, poke it with a stick from a distance. As I've coded I've become less judgmental of other styles, but not of lack of craft (code with anti-patterns, obvious bugs, or just rube goldberg contraptions) Still at the end of the day, if you build something, you should be forced to use it/rely on it. Suddenly software would be a lot less rickety. :laugh:
Real programmers use butterflies
My first bosses advice was "Write code like it will be maintained by a psychopath that knows where you live"
-
My first bosses advice was "Write code like it will be maintained by a psychopath that knows where you live"
ditto -- I was told the same exact quote
-
honey the codewitch wrote:
You can do some proper damage if you're strategic about it.
I can't be stratetgic with things that seem random. If I could I would play lottery. :rolleyes: :-D
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.
-
Maybe you feel similar about it as I do - before approaching Other People's Code, poke it with a stick from a distance. As I've coded I've become less judgmental of other styles, but not of lack of craft (code with anti-patterns, obvious bugs, or just rube goldberg contraptions) Still at the end of the day, if you build something, you should be forced to use it/rely on it. Suddenly software would be a lot less rickety. :laugh:
Real programmers use butterflies
Disagree with your assertion. For the most part, people who write obtuse software which isn't fault-tolerant think their code is fine. Herp-derp, I'll just hard-code this value, won't attempt to handle any exceptions, etc, etc, etc. Generally, it's not that these people even understand how bad their code/designs are. Yes, there are occasions where somebody understands that (sometimes with "this feels wrong, couldn't figure out the right way, here's what I'm trying to do"-type comments), but that's the exception to the rule. Thus, most people will think their code is just fine, because it kinda-sorta works given the exact right conditions.
-
Disagree with your assertion. For the most part, people who write obtuse software which isn't fault-tolerant think their code is fine. Herp-derp, I'll just hard-code this value, won't attempt to handle any exceptions, etc, etc, etc. Generally, it's not that these people even understand how bad their code/designs are. Yes, there are occasions where somebody understands that (sometimes with "this feels wrong, couldn't figure out the right way, here's what I'm trying to do"-type comments), but that's the exception to the rule. Thus, most people will think their code is just fine, because it kinda-sorta works given the exact right conditions.
I know my code is not fine for others. For starters, my methods are too long. My post is tongue in cheek.
Real programmers use butterflies
-
Maybe you feel similar about it as I do - before approaching Other People's Code, poke it with a stick from a distance. As I've coded I've become less judgmental of other styles, but not of lack of craft (code with anti-patterns, obvious bugs, or just rube goldberg contraptions) Still at the end of the day, if you build something, you should be forced to use it/rely on it. Suddenly software would be a lot less rickety. :laugh:
Real programmers use butterflies
I kid you not, I worked on someone else c# code base that was trying to run dependence injection at every level, everything was an interface, even if there was one concrete class implementing the interface. I mapped one API call through 14 layers of calls to get to the root code that was hard coded to return "True" (not a bool, but a string). It would take me hours to find where the call's implantation wound up. The project solution consisted of 60+ DLL projects, some of which had no code and was only a stub out for an interface implementing another interface referenced in another project. every function had a try/catch with a logger that did not log the error or any variables, just the function name where the error occurred and a time stamp, nothing else. so when you have say 10 functions called "Update" in each of the 60+ projects, which one did it crash on, and why? tried to map it out, gave up after a week. Hair pulling time.