|
They also seem to struggle with understanding where the code is running.
Trying to use Process.Start or Office Interop to open files on the client; trying to use MessageBox.Show to ask the user a question; trying to save files in a specific path on the client from server-side code; trying to read uploaded files directly from the path in the FileName property; etc.
Of course, I think a lot of these problems are caused, or at least exacerbated, by Visual Studio. When you run the project in VS, it's an interactive process on the same computer, so there's nothing to warn novice web devs that their assumptions are wrong. At the very least, it should be a non-interactive process, so that no UI can magically appear from the server-side code. If it could behave as if it has its own file system, completely separate from the developer's PC, that would cure even more misconceptions.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Quite. It was even worse back with classic ASP as given the stuff that runs on the client and the stuff that runs on the server were on the same file it was even easier to not appreciate that the little "%" in the tag made a big difference.
Of course that paradigm has gone full circle with razor but at least people are discouraged from putting business code in their views.
I still want to know where people are learning to string concatenate their SQL statements though. What articles are the looking at to learn how to code? Ones from 1996?
|
|
|
|
|
Rewriting may not be an easy undertaken when an application is "huge" running on a particular platform. Recently, I noticed that SAP Concur (https://www.concursolutions.com/default.asp) is still a conventional active server page application. If it could be easily rewritten, SAP would have done it long time ago.
TOMZ_KV
|
|
|
|
|
I think this is a natural instinct in a majority of developers.
- That don't make it right though, mister.
Many many years ago Joel Spolsky wrote on his blog about the refactoring/rewrite of Netscape. It may have been while they were under AOL. Almost all devs pressed for a rewrite: "Nobody can make this stinking pile of horse residue good.". In the end a total rewrite was decided on. The result was a release delay of of 2-3 years as I remember it. His takeback was: "resist your instincts, do it gradually".
"If we don't change direction, we'll end up where we're going"
|
|
|
|
|
My thoughts as well!
|
|
|
|
|
Super Lloyd wrote: Here, at work, a bunch of our developer have taken over the development of a console app.
By taking over I mean they are going to rewrite from scratch a much better new one.
For now they are putting down a web like service framework which is going to componentize the app to the next level.
That's a comedy in the making right there. Except for those working with you and witnessing first-hand the app's progression into insanity, I suppose. Good luck with that. Steer clear.
|
|
|
|
|
Super Lloyd wrote: For now they are putting down a web like service framework which is going to componentize the app to the next level.
That might be a good thing, particularly if the console app might be implemented as a web app at some point, or you want a future web app to have access and manipulate the same data. One API to rule them all!
Latest Article - A Concise Overview of Threads
Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Artificial intelligence is the only remedy for natural stupidity. - CDP1802
|
|
|
|
|
Mmm.. the console app is, in fact, a hardware controller on RaspeberryPi. It ain't gonna be turned into a web app anytime soon.
What itch me the most so far is that their service architecture, so far, only support transient service, not something that be ongoing...
I just remarked that battery controllers are something on going.. not something you poll every now and then to wake up...
For example, code-wise, services with Start()/Stop()/IsRunning or Connect()/Disconnect()/IsConnected methods represent hardware controller better I believe than single Run(CancellationToken) method ones
|
|
|
|
|
WTF is this???
Techincally accurate, but practically useless.
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
I miss something. In about every project I ever had the pleasure to open, The Master of the Obvious would have left something like this behind:
public int DoSometihngObscurish(string ObscureParam, decimal[] ObscureArgs, Random theObfuscator); Spelling intentional. The Master of the Obvious designs everything he writes in a way that the reader gains no information beyond the obvious and, if possible, has even more questions than before.
In this documentation the Master of the Obvious forgot one essential thing;
Quote: Summary: This event notifies some other class that a property has changed.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
This is what happened when warning 1234 informs you, you must put a comment on that method. But your heart is not into it.
Code comments are nice, but I think they should NOT be mandatory for this exact reason.
|
|
|
|
|
Code comments and code documentation are two very different things, imho
667: The neighbour of the Beast
|
|
|
|
|
Click through to the INotifyPropertyChanged documentation, there is actually a nice example included.
|
|
|
|
|
99% of .NET framework documentation is made that way - that's why I hate .NET with a burning passion. Win32 API are much better documented, and still they don't approach the quality of Win16 documentation.
GCS d-- s-/++ a- C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
|
This is one of those pages that proves MS's documentation is generated by an automated tool, in case anyone still needs any convincing. Pulled entirely from source code--no comments, no documentation. Which infers developers are in charge of the documentation.
|
|
|
|
|
Or why clicking on a button does nothing?
I just did the former, and have done the latter. Doh. I need to run the program!
Latest Article - A Concise Overview of Threads
Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Artificial intelligence is the only remedy for natural stupidity. - CDP1802
|
|
|
|
|
This usually happens to me when I have not had enough sleep.
|
|
|
|
|
Marc Clifton wrote: Or why clicking on a button does nothing?
I just did the former, and have done the latter. Doh. I need to run the program!
Perhaps a tad too concise, you forgot the .Start()
|
|
|
|
|
I was in a meeting with a coworker, my direct supervisor, and their direct supervisor (the head honcho, which I will call the PHB.)
As folks are gathering in the office, having not talked to the PBH for a few days, I ask "How was your weekend?" Response: "Fine, let's get started."
The PBH has a list of concerns/questions on his monitor. His office is so configured that if you sit directly across his desk, you can't see him because the monitors are in the way. If you sit at the table, you're talking to his back as he looks at his screen.
So, the PBH proceeds to ask the questions he's come up with on the monitor. Doesn't turn around to ask them, he basically asks them to his monitor. We respond, and he types in our responses.
Near the end of the meeting, he loudly grouses about how long the project has taken, and another project, dependent on my project, is starting to slip. I say something about the complexity of the project and the unexpected things we discovered (like how bad our data is, that needed to be cleaned up, bugs in things I'm dependent on, like reversing street and mailing addresses, and missing values from that code when it deserializes the XML into data structures, etc.)
The PBH response is basically, this project has taken ages, we need to finish it so that it is, and I quote "done, Done, DONE!"
What was missing from this conversation was:
1) What lessons have we learned so we don't make the same mistakes again?
2) What could management have done better?
3) Even though it's late in the game, would an additional developer or two help? (I'm the only developer on this massive project.)
4) Gee Marc, I really appreciate your hard work and diligence in making sure everything is done right.
Now granted, regarding #3, I could have raised that flag myself earlier in the game, but to my (poor) defense, and to my second failure, I really didn't understand the scope of the project. And by "scope", I mean the lack of documentation of how the company's data "works" depending on the line of business, how buggy the data was, etc.
So, here's a toast to Dilbert, the hero of all of our nightmare projects and PHB's!
Latest Article - A Concise Overview of Threads
Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Artificial intelligence is the only remedy for natural stupidity. - CDP1802
modified 20-Sep-18 19:45pm.
|
|
|
|
|
Marc Clifton wrote: I really appreciate your hard work and diligence in making sure everything is done right.
Funny you mention this. I was thinkg the same thing for myself here at work.
I still haven't heard an elephant fart of a thank you anywhere, from anyone.
|
|
|
|
|
Thank you? You're not doing the work as a favor out of the goodness of your heart. You're doing the work because you're getting a paycheck.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Richard Andrew x64 wrote: You're not doing the work as a favor out of the goodness of your heart. You're doing the work because you're getting a paycheck.
Absolutely true. However, a little bit of appropriate praise once in a while can go a long way toward keeping employees happy. It isn't the number one reason employees leave, but it is the number eight[^]. Its a soft skills managementy thing.
|
|
|
|
|
Richard Andrew x64 wrote: You're doing the work because you're getting a paycheck.
Paychecks are the material result. As human beings, it's also nice to receive some positive feedback for our emotional well-being and ego.
Latest Article - A Concise Overview of Threads
Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Artificial intelligence is the only remedy for natural stupidity. - CDP1802
|
|
|
|
|
Slacker007 wrote: I still haven't heard an elephant fart of a thank you anywhere, from anyone.
Well, allow me to be the first to profusely thank you for all your hard work!!!
Latest Article - A Concise Overview of Threads
Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Artificial intelligence is the only remedy for natural stupidity. - CDP1802
|
|
|
|