|
Why don't you go over to Q&A and tell them the good news. No need to learn anything anymore. The others are now responsible to make everything easy enough for them to handle.
Call me arrogant, but most juniors are idiots, more in the original greek sense of the word. I prefer helping them to overcome this (if you believe the ancient Greeks) natural state of ignorance and gain first experience in some area.
It always was the job of architects and seniors to make the code as complex as needed and as simple as possible. That's only one aspect of maintainability. Maintainability is the real goal, not dumbing down at all cost. If that means herding the juniors into a meeting room and giving them some training, then so be it.
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.
|
|
|
|
|
So CodeWraith got most of it correct. Over engineering is the bane of our industry, it destroys maintainability. I have a mantra - maintenance is the most expensive aspect of software.
gggustafson wrote: that an employer who desires that code be produced that can be maintained by junior developers I agree that this is both the right and the responsibility of the owner. However the "junior developer" must have a reasonable level of competence and are expected to learn and expand their skills so only feeding them the simplest code structures is doing a disservice to them and the employer.
I guess the issue is defining where over engineering begins. I failed to do this with one developer and we now have a project that no one can support as we eventually let the dev go .
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
gggustafson wrote: probably more importantly, the employer is in business to produce the code. Most often: the company is in business to make money, the employer to ensure that happens by managing managers who manage programmers who write code.
Complicated code that utilizes newer language features to achieve excellent results ... speed, less memory use, enables new features ... is going to get used: if the direct (adoption, updating, testing), or indirect (legacy compatibility) costs are tolerable.
The issue of willy-nilly adoption of new syntactic sugar: is a red herring
«... thank the gods that they have made you superior to those events which they have not placed within your own control, rendered you accountable for that only which is within you own control For what, then, have they made you responsible? For that which is alone in your own power—a right use of things as they appear.» Discourses of Epictetus Book I:12
|
|
|
|
|
gggustafson wrote: an employer who desires that code be produced that can be maintained by junior developers is well within his rights It's also your right to desire your house to be built using only Duplo blocks (the big Lego blocks) so toddlers can do renovations.
With a house that's obviously a bad idea, why is this not the case for software?
Unfortunately, writing maintainable code seems to be very difficult for juniors and seniors alike.
No matter your desires, you'll end up with a big ball of mud anyway.
|
|
|
|
|
Now there is a truism! "Big ball of mud"
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
This is a bit subjective.In the matter that someways you save time and write less code , which means less code to maintain by the junior developer once he understands the code. He can later extent or add feature as needed.
Caveat Emptor.
"Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
|
|
|
|
|
To be honest I didn't follow and did not clearly grasped the whole argument.
However, when asked to "dumb down the code" it often means don't used this newfangled syntax that I don't (yet) understand, such as "await DoThisAsync()"
The problem for this request are 3 fold:
1. it is often the case that by the time you make the effort to do do it and rewritten what need be written, everybody has moved on and use this previously so called "newfangled syntax"
2. This newfangled syntax is, in fact, supported by lot of compiler infrastructure and language research by C# team and will reduce you program's number of bugs, hence not using it, will increase your bug and development time
3. it is literally painful and extremely confused to be told do not used keyword X, or library Y, one start to wonder how complicated and unintuitive is the result is expected to be. In other word if I ask you to move from A to B, but to not use a straight line and to not use any shortcut, it's a bit confusing what path to follow and one is tempted to, half of spite, half of attempt at pleasing, half of confusion, to go through as many hoops as possible.
|
|
|
|
|
I completely understand restricting what libraries, languages, and other technologies can be used. You don't want a tangled mess of 12 languages and 500 libraries. But when it comes to the code itself, the business should take a step back - you've hired professionals for a reason.
I'm a big proponent of readability. It helps not only in debugging but in maintenance as well. Language constructs are often included to improve this aspect of the language. They also function as abstractions since these simple constructs often obscure carefully constructed code. A great example is lock . This expands in C# (from 4.0+) to:
bool lockTaken = false;
var temp = obj;
try
{
Monitor.Enter(temp, ref lockTaken);
}
finally
{
if (lockTaken)
Monitor.Exit(temp);
}
The lockTaken code was added because of a bug in the 3.0 implementation but most people didn't even notice because they used the language abstraction.
This topic as a whole ties a bit into a pet peeve of mine: The idea that everyone should conform to the lowest common denominator. No. Everyone should work to bring that person or people up to speed. If you keep lowering the bar eventually you're left with people that can't accomplish anything.
|
|
|
|
|
We do not explicitly dumb down the code.
If there is a valid reason, i.e. mostly performance, to use more modern language construct, we will use it.
if there's no reason for it, then you must demonstrate how it will make our life better.
I'd rather be phishing!
|
|
|
|
|
Visited Palermo yesterday and found the Capucin catacombs to be the best place to evade the scorching heat, it is not for the faint hearted though, hundreds of skeletons and mummified remains are staring at you, mostly placed in an upright position and dressed in their original clothes.
The numerous churches of Palermo are nice and cool too.
The Palermians themselves seem to flee from their bustling city in the weekend to the beach of Isola delle Femmine.
Luckily for us, as we even managed to find a free parking place at the Bonnaro marketplace.
Today we will go to the salt lakes of Nubia and stay there for a few days.
|
|
|
|
|
|
|
OriginalGriff wrote: Pluto has deserts made of frozen farts
No wonder he was banished to the Underworld...
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Read an SF story many years ago where a space ship landed on Pluto and the entire planet burned off it's methane.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Did you hear about the guy whose entire left side was cut off?
He's all right now.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Didn't he use to live in Tremé?
That would make him an ex-Tremé right-winger.
(Running, ducking, and rolling )
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
In other words, whatever's left of him is just what was right.
|
|
|
|
|
I heard he deserved that, serves him right!
|
|
|
|
|
I've been noticing that a lot of news websites I frequent have been counting the number of visits, trying to force me to buy a subscription. Of course, all I have to do is delete the cookie(s) associated with the website and the count gets reset to zero. It seems that this would be a great idea to have an add-on such that there is a ToolButton that could be actuated to delete the cookies on the tab that is currently active (or when the tab is closed). Now, this is not the same thing as an add-on that simply deletes the cookies all the time; I'd like to have control of when to delete rather than have the garbage automatically collected.
Of course, if there isn't such an add-on already developed, I guess I could roll my own. I am wondering what languages, IDE, etc., I would need to know/have develop such an add-on. I'm quite green with internet stuff, as the last web page I built was purely in HTML, and before Y2K, LOL.
|
|
|
|
|
Cookie Quick Manager
Caveat Emptor.
"Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
|
|
|
|
|
there's another solution to the problem:
use a private session when browsing those news sites. As soon as you close the session, the cookies are automatically removed.
|
|
|
|
|
I just clicked on "My Followers", and discovered a bunch of people I have never heard of. I wonder what they are hoping for?
|
|
|
|
|
We have followers here?
If I were a mail man, I would be some people's follower to find out when they are at home - or not. It would not be them I'm stalking.
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.
|
|
|
|
|
These are headhunters. Watch out, or you'll have to go back to work in a few days
It does not solve my Problem, but it answers my question
modified 19-Jan-21 21:04pm.
|
|
|
|