| « Prev | Page 1 | Page 2 | Page 3 | Next » |
|
You shouldn't have two mutually dependent components. If they depend on each other, they should just be one component.
|
Isn't that precisely the thinking that led to this article? :-) |
Well, that's just more security - if one component fails, the server is only "half dead" instead of "mostly dead" |
Hmm.. what to do with this tangled knot in my shoelaces... I know! I'll pull on the ends as hard as I can to make the knot smaller! |
|
What if there is a third component, that only depends on one of the components. That should be rolled in there too?
|
|
This story is summed up in one line: "You get what you pay for."
|
|
I went to china, india and the like. It all comes down to one thing. You get what you pay for. Pay up or shut up..
|
Re: eTeller Horror
2009-04-16 11:34
•
by
Layer I Up
(unregistered)
|
Exactly! There should be some layer of abstraction to allow changes to be easily made to an upstream component. Perhaps when the author said "At a very high level", he was intentionally disregarding interfaces / layers of abstraction. Architecturally speaking, the diagram rings alarm bells! |
|
"Each new bug [threw] the development team into crisis-mode"
Found one there, hope you're not in crisis-mode now. |
|
What's so bad about using ArrayLists, HashTables, and DataSets to move around data?
Not for everything, of course, but wrapping yourself to death with custom data structures is not exactly better. |
|
What the blimey do you all think you're doing? We should share an account and edit a single comment!
|
|
INSANE is missing the blink tag.
|
It's just soooo .Net 1.1. We're almost to 4.0 now. Get with the program! |
|
Love the reference to Crazy Eddie's in BKLYN. "Prices so low, they're INSANE"
|
Re: eTeller Horror
2009-04-16 11:45
•
by
Yanman
(unregistered)
|
Communism? |
|
Is it just me or have the feature articles been ending just as the story seems like it's about to become interesting?
I mean, this one seems like it should have a co-dependent pt. 2 to it. Form post for today: 1. Good programming vs bad programming (w/ diagrams) 2. Company sends code offshore 3. Offshore code sucks 4. Company saves money by retrofitting shitty code instead of rewriting 5. Retrofit process still ongoing (or is it?) |
Wiki? |
No... '5' is, "New feature set is impossible to add due to 4. Goto 2". |
|
Strangely redolent of code I am currently working with. Features include:
= Entire program in one function, including numerous repetitions of near-identical logic = But novel use of #region to break logic into chunks ! = lots of goodness like:
|
|
Why didn't the bank run through their own testing when they got the release from their offshore developers? They had a QA dept. It's their own fault for releasing a piece of software they didn't test themselves.
|
Re: eTeller Horror
2009-04-16 12:07
•
by
monkeyPushButton
(unregistered)
|
In communist wiki, comments edit you. |
<br><br> Last time i checked, you can't put region blocks in method bodies... |
|
So, we have incompetent offshore developers coupled with management who are all too ready to repeat their past mistakes. Technically this is a WTF but in reality it's not going to raise any eyebrows around here. Welcome to the IT industry.
|
|
This is what you get when you hire cheap offshore workers. I have yet to see an app that was developed as an offshore project like this (not talking about major offshore corps like NCSoft) actually come back with clean, functional and maintainable code.
|
|
I have no sympathy. A modicum of code review by Infotech or the bank would have revealed that the code was crap very early in the process.
|
Re: eTeller Horror
2009-04-16 12:11
•
by
Anonymous
(unregistered)
|
Then it's probably about time you checked again. This is C#, you can put regions wherever the hell you like. |
|
I really recommend that if you're not using ConQat or Clone Detective, that you start. They're both free, and ConQat is now a lot easier to configure than it used to be.
|
|
Guaranteed way to keep your customers from becoming disgruntled: don't gruntle them in the first place.
|
Lists are probably OK, but the HashTables and DataSets WERE being used for everything (note that they did not define ANY classes except as holders for static methods). Basically they had completely foregone OOP. And type safety; I bet you 3:1 that the vast majority of those HashTables contained a nice mix of strings, decimals, bools, and other HashTables. |
Re: eTeller Horror
2009-04-16 12:13
•
by
JoeCoder
(unregistered)
|
check again, I see it all the time. |
Then again, how many onshore-outsourced projects have you seen that had clean, functional and maintainable code? |
|
Finally, a pretty thoroughly WTF WTF. Congratulations to Alex et al. for returning to the source: persistently bad management decisions.
|
Re: eTeller Horror
2009-04-16 12:18
•
by
A Gould
(unregistered)
|
Which makes sense, if you think about it - they're not paying for clean *or* maintainable code. They're paying for functional, and I'll bet it does *exactly* what they were paid to have it do (as shown by whatever testing was used), and not a thing more. That's what "lowest bidder" means - no frills. (And anything not in the original bid is a frill). |
Re: eTeller Horror
2009-04-16 12:21
•
by
Stefan
(unregistered)
|
|
[quote user="XioPodLast time i checked, you can't put region blocks in method bodies...[/quote]
private void Comment_Load(object sender, EventArgs e) { #region "Yes you can" string a ="Just see "; string b = "me doing it!"; #endregion #region "I rest my Case" Console.Write(a + b); #region "I rest my Case" } |
|
private void Form1_Load(object sender, EventArgs e)
{ #region "Yes you can" string a = "Just see "; string b = "me doing it!"; #endregion #region "I rest my Case" Console.Write(a + b); #endregion "Even text in the closing tag!" } |
Mark, we're adults. We're not going to send you to the principal's office for saying the word "shit". |
|
This is exactly why offshoring Dev work is a short sighted and stupid idea.
|
Re: eTeller Horror
2009-04-16 12:56
•
by
OldCoder
(unregistered)
|
Perhaps Alex accidentally the ending? |
|
|
Offshoring dev work to idiots is a short sighted and stupid idea. Americans seem not to understand that there's a lot of bright people around. Not the lowest bidder, generally.
captcha: dignissim. What I feel as an excellent offshore developer. |
Can you really blame Mark? He has the spelling/grammar skillz of a second grader. |
How did you conclude they were American? Addendum (2009-04-16 13:18): Yes, that would do it. Nevermind. |
|
Experience, I guess :). Ok, I'm biased against Americans because all the offshoring I did, I did it for them and the code they provided was so incredibly bad and their egos where so incredibly huge. Sorry for my bias, what I said can be applied to anyone that thinks he's better than the rest of the world.
|
|
"No primary keys, indexes, or foreign key constraints existed on tables, nearly all fields were of type varchar(50), and 100% of fields were nullable."
Amateurs! Everybody knows those fields should be varchar(255). |
Yeah, the ugly American, I've heard of him all my life. On behalf of American assholes the world over, I apologize. Incidentally, I've been to Canada and Mexico, but never off the North American continent, so I've never behaved badly in Europe, Asia or Australia. I hope to travel more widely someday, and not behave like an ugly American in the doing. |
|
Is the first diagram having hot lesbian sex or am I too horny right now ? |
Last time I checked, I could... |
If he'd said the word "fan", though... |
|
When you come to Europe, tell people you're Canadian.
|
| « Prev | Page 1 | Page 2 | Page 3 | Next » |