In my experience, the thing that self-documenting code documents best is that the person who wrote it was an arrogant dick who thought he was above everyone else.
Sometimes, you need to take a non-obvious approach. In those cases, you should document why you took that appraoch, so that some well-meaning developer doesn't come by in a couple of years time, and refactor crucial logic out. Sometimes, you're implementing a complex algorithm that's not immediately apparent by looking at the string of mathematical operations it consists of. A simple comment with a link to a page describing the algorithm, and suddenly everyone knows what it's supposed to do.
"My code's self documenting" is just code for "I think I'm too good to deign explaining myself to lesser mortals - my time is too valuable. They can spend their time trying to understand my code instead".
Not giving your developers time to write documentation, by piling on another deadline as soon as the last bolus of code has been shoved out into production, yet still demanding that documentation somehow appear - that's inexcusable.
You want to know how to make developers document? Give them time to do it. Do not give them another project until the one they've just deployed is documented. Factor in time for documentation when quoting for the time taken to complete a project, and don't treat documentation time as "pad" time that can be consumed by the project when it overruns its overly-optimistic deadline.
Treat documentation as as valuable as code, and it will get done.
Sure. But just like they wouldn't stop me quitting and getting another job somewhere else, they wouldn't stop me quitting entirely. If they were friends, I'd still catch up with them every now and then.
Friends of yours who would hang out with you on their free time but work during the day like you?
Well, yeah. But working isn't going to help me hang out with them any more.
If you had nothing to do all day, you'd get bored soon enough.
Why do you think that, if you're not working, you have nothing to do? I've got a queue a mile long of personal projects I'd like to get around to when I've got time. Programming, home improvements, gardening, self-education, travel, fitness, hell, maybe use some of the spare capital to have a run at being a boss instead of kow-towing to one. I guarantee you, I can fill my time amply without having to get someone else to tell me what to do for 8 hours a day, 5 days a week.
That may not be a good thing (I prefer "pure" Android), but it isn't a problem.
And the thing is, if you prefer "pure" Android (like you, and like me) Google produces an official reference phone in the Nexus line.
I understand there's issues in the US, where apparently certain handsets aren't allowed on certain telco networks, but that's really a problem with your telcos than with Android - why they are allowed to discriminate based on handset instead of simply on features is beyond me.
Microsoft never prevented anyone from installing or using Netscape either.
Which isn't what the OP said. He said the no one is forcing you to use Google's other services if you use Search. However, Microsoft did force you to use IE if you used Windows. It came pre-installed, and essential services (like the Windows Update site) required IE to function.
Fire up a new Android 4.0 device, and you'll be prompted to create a Google+ account if you haven't already. They've given it TV ads, not to mention a priceless promotion on its homepage.
Pretty sure Android doesn't have a monopoly on the smart phone market. And what, you think have a legally-gained monopoly means they're not allowed to be TV ad slots?
Microsoft bundled IE with Windows - if you bought windows (which a consumer pretty much had to in those days) you also got IE With Google, if you use both Google+ and search, they work synergistically. One doesn't force you to get the other. If they required you to sign up to Google+ to use search, then you'd have a closer parallel
No. Pulp fantasy pre-dated Tolkien, and fairy tales and epics stretch back to the beginning of recorded history. He popularized modern heroic fantasy, but that's different from "inventing the fantasy genre".
That also implies that if a plant is unsafe, it still gets 40 years. Otherwise, what does the time limit mean?
You're missing the point. The plants were up to contemporary safety standards when they were built. They aren't now - not because their safety standards have necessarily decreased, but because contemporary safety mechanisms are so much better.
This is saying that older plants must measure up to modern safety techniques, you can't "grandfather" in an old plant, just because its been operating for a long time.
I need support for a specific issue and I open up the yellow pages and look at my options there are going to be way more options for me that will be less expensive if I need to hire someone to take a look at a Windows server.
And most of those will be sixteen year old kids who think that the fact that they know how to find the control panel qualifies them to administer a windows server.
If you're looking for qualified, certified, experienced administrators, there are plenty in both worlds. The BSDs and Linux have dominated the server market for a long time; there's a very large pool of talent to draw from.
Corporations proposed the legislation. Other corporations are acting to block it. At no point are citizens consulted in the process.
I'm on the side of Facebook and Google on this one, but it's still a demonstration that citizens have no power in American democracy, and corporations do.
Actually, my opinion is correct whether or not I dig up links to satisfy your lazy ass. It's just not been proved to lazy sods who can't be bothered to do a quick search.
BUT, the fact the PHOSITA didn't come up with it but for your question, indicates it isn't obvious. In other words, if it's so obvious, why hasn't it been done before?
That means that there's no such thing as non-obvious, as by your argument, the first person to do anything will always qualify. Obviousness and novelty are two distinct requirements. As for why PHOSITA hasn't already done it:: presumably because they've never been in a situation where they were required to come up with a solution to that question.
As for the one-click patent, I just used it as an example, as it's one most people here would have heard of, and in a discipline that many understand.
Patents were issued on designs that were not obvious to a "person having ordinary skill in the art". They weren't protection for new ideas, they were protection for new solutions. If you asked a skilled programmer how to implement one-click purchases, say, and he could come up the method described in Amazon's one-click patent, that patent should never have been awarded.
If your invention is something that any reasonably-qualified engineer, if given the same problem, could come up with, it's obvious, and shouldn't qualify for protection. This is true even if nobody has actually implemented your solution before - just whether or not they could could do so.
Hence, I stand by my original point - if people (with ordinary skill in the art) could figure out how to do something without consulting the patent, the patent is obvious, and should not be valid.
See, I can argue like you too! It's really easy when all you ever do is insult people and never make any actual points or provide information.
You're a dick.
Look, I did it again. I'm getting good at this. You should subcontract your commenting out to me - I can provide meaningless posts calling people names for a very reasonable fee.
That was because patents were supposed to be awarded for things that people couldn't figure out how to do without looking at the patent. That's why we (ostensibly) require patents to be novel, and non-obvious. It's supposed to be a trade-off: in return for showing people how to do stuff they couldn't figure out on their own, you get a limited monopoly on that concept. Over all, such a system should broaden human knowledge and capability.
Of course, nobody pays attention to obviousness or novelty any more - now we are awarding patents for things that are immediately obvious to people familiar with the art. And, surprise, surprise, we're finding that patents are impeding advancement.
In my experience, the thing that self-documenting code documents best is that the person who wrote it was an arrogant dick who thought he was above everyone else.
Sometimes, you need to take a non-obvious approach. In those cases, you should document why you took that appraoch, so that some well-meaning developer doesn't come by in a couple of years time, and refactor crucial logic out. Sometimes, you're implementing a complex algorithm that's not immediately apparent by looking at the string of mathematical operations it consists of. A simple comment with a link to a page describing the algorithm, and suddenly everyone knows what it's supposed to do.
"My code's self documenting" is just code for "I think I'm too good to deign explaining myself to lesser mortals - my time is too valuable. They can spend their time trying to understand my code instead".
No, it's perfectly excusable.
Not giving your developers time to write documentation, by piling on another deadline as soon as the last bolus of code has been shoved out into production, yet still demanding that documentation somehow appear - that's inexcusable.
I totally agree.
You want to know how to make developers document? Give them time to do it. Do not give them another project until the one they've just deployed is documented. Factor in time for documentation when quoting for the time taken to complete a project, and don't treat documentation time as "pad" time that can be consumed by the project when it overruns its overly-optimistic deadline.
Treat documentation as as valuable as code, and it will get done.
Don't you have colleagues you like?
Sure. But just like they wouldn't stop me quitting and getting another job somewhere else, they wouldn't stop me quitting entirely. If they were friends, I'd still catch up with them every now and then.
Friends of yours who would hang out with you on their free time but work during the day like you?
Well, yeah. But working isn't going to help me hang out with them any more.
If you had nothing to do all day, you'd get bored soon enough.
Why do you think that, if you're not working, you have nothing to do? I've got a queue a mile long of personal projects I'd like to get around to when I've got time. Programming, home improvements, gardening, self-education, travel, fitness, hell, maybe use some of the spare capital to have a run at being a boss instead of kow-towing to one. I guarantee you, I can fill my time amply without having to get someone else to tell me what to do for 8 hours a day, 5 days a week.
IMO - someone who publishes articles, as you'd expect press to do, but actually has no readers. In other words, the majority of the blogosphere.
That may not be a good thing (I prefer "pure" Android), but it isn't a problem.
And the thing is, if you prefer "pure" Android (like you, and like me) Google produces an official reference phone in the Nexus line.
I understand there's issues in the US, where apparently certain handsets aren't allowed on certain telco networks, but that's really a problem with your telcos than with Android - why they are allowed to discriminate based on handset instead of simply on features is beyond me.
Or, you know, the fact that Twitter is trying to /charge/ them for the right to index those results, and they don't want to pay.
Cynic? That's optimism.
Microsoft never prevented anyone from installing or using Netscape either.
Which isn't what the OP said. He said the no one is forcing you to use Google's other services if you use Search.
However, Microsoft did force you to use IE if you used Windows. It came pre-installed, and essential services (like the Windows Update site) required IE to function.
Fire up a new Android 4.0 device, and you'll be prompted to create a Google+ account if you haven't already. They've given it TV ads, not to mention a priceless promotion on its homepage.
Pretty sure Android doesn't have a monopoly on the smart phone market. And what, you think have a legally-gained monopoly means they're not allowed to be TV ad slots?
Totally different.
Microsoft bundled IE with Windows - if you bought windows (which a consumer pretty much had to in those days) you also got IE
With Google, if you use both Google+ and search, they work synergistically. One doesn't force you to get the other. If they required you to sign up to Google+ to use search, then you'd have a closer parallel
No. Pulp fantasy pre-dated Tolkien, and fairy tales and epics stretch back to the beginning of recorded history. He popularized modern heroic fantasy, but that's different from "inventing the fantasy genre".
That also implies that if a plant is unsafe, it still gets 40 years. Otherwise, what does the time limit mean?
You're missing the point. The plants were up to contemporary safety standards when they were built. They aren't now - not because their safety standards have necessarily decreased, but because contemporary safety mechanisms are so much better.
This is saying that older plants must measure up to modern safety techniques, you can't "grandfather" in an old plant, just because its been operating for a long time.
Important executive? The guy was earning 68k as a graduate.
I need support for a specific issue and I open up the yellow pages and look at my options there are going to be way more options for me that will be less expensive if I need to hire someone to take a look at a Windows server.
And most of those will be sixteen year old kids who think that the fact that they know how to find the control panel qualifies them to administer a windows server.
If you're looking for qualified, certified, experienced administrators, there are plenty in both worlds. The BSDs and Linux have dominated the server market for a long time; there's a very large pool of talent to draw from.
Also, Britain.
The British monarch is also the titular head of the Anglican Church.
Corporations proposed the legislation.
Other corporations are acting to block it.
At no point are citizens consulted in the process.
I'm on the side of Facebook and Google on this one, but it's still a demonstration that citizens have no power in American democracy, and corporations do.
Yes, because three people agreeing with you on a pseudonymous internet board turn your opinions into fact
What, like you did on your original post?
Actually, my opinion is correct whether or not I dig up links to satisfy your lazy ass. It's just not been proved to lazy sods who can't be bothered to do a quick search.
Which is fine by me, they deserve ignorance.
Those who earn billions are the only ones who benefit from a term longer than a decade after publication.
BUT, the fact the PHOSITA didn't come up with it but for your question, indicates it isn't obvious. In other words, if it's so obvious, why hasn't it been done before?
That means that there's no such thing as non-obvious, as by your argument, the first person to do anything will always qualify. Obviousness and novelty are two distinct requirements. As for why PHOSITA hasn't already done it:: presumably because they've never been in a situation where they were required to come up with a solution to that question.
As for the one-click patent, I just used it as an example, as it's one most people here would have heard of, and in a discipline that many understand.
http://en.wikipedia.org/wiki/Person_having_ordinary_skill_in_the_art
Patents were issued on designs that were not obvious to a "person having ordinary skill in the art". They weren't protection for new ideas, they were protection for new solutions. If you asked a skilled programmer how to implement one-click purchases, say, and he could come up the method described in Amazon's one-click patent, that patent should never have been awarded.
If your invention is something that any reasonably-qualified engineer, if given the same problem, could come up with, it's obvious, and shouldn't qualify for protection. This is true even if nobody has actually implemented your solution before - just whether or not they could could do so.
Hence, I stand by my original point - if people (with ordinary skill in the art) could figure out how to do something without consulting the patent, the patent is obvious, and should not be valid.
Wrong. You're an idiot.
See, I can argue like you too! It's really easy when all you ever do is insult people and never make any actual points or provide information.
You're a dick.
Look, I did it again. I'm getting good at this. You should subcontract your commenting out to me - I can provide meaningless posts calling people names for a very reasonable fee.
You used to.
That was because patents were supposed to be awarded for things that people couldn't figure out how to do without looking at the patent. That's why we (ostensibly) require patents to be novel, and non-obvious. It's supposed to be a trade-off: in return for showing people how to do stuff they couldn't figure out on their own, you get a limited monopoly on that concept. Over all, such a system should broaden human knowledge and capability.
Of course, nobody pays attention to obviousness or novelty any more - now we are awarding patents for things that are immediately obvious to people familiar with the art. And, surprise, surprise, we're finding that patents are impeding advancement.