The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
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
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.
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.
"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;
Monitor.Enter(temp, ref lockTaken);
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.
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.
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.