|
I like the ToString...
If SystemInformation.PowerStatus.BatteryLifePercent = 1.00f then ...
is such a PITA
Paulo Gomes
Over and Out
|
|
|
|
|
What a shortcut! A qualified programmer would have accounted for the fact that BatteryLifePercent is floating point, and may not be in increments of 1/100th. What if it's 0.975? Obviously this should have been written as:
If SystemInformation.PowerStatus.BatteryLifePercent <= 1 And
SystemInformation.PowerStatus.BatteryLifePercent > 0.99 then Return "99%"
ElseIf SystemInformation.PowerStatus.BatteryLifePercent <= 0.99 And
SystemInformation.PowerStatus.BatteryLifePercent > 0.98 then Return "98%"
...
|
|
|
|
|
They are clearly just coding around a bad framework. There's a field called BatteryLifePercent, but it's not actually a percentage number. Obviously the framework is incorrect.
|
|
|
|
|
Option Strict is off or the Property would have an As clause!
Correct would've been:
Public ReadOnly Property BatteryPercent As Percent
Get
If SystemInformation.PowerStatus.BatteryLifePercent.ToString = "1" Then
Return Convert.ToPercentage("100%")
Now that just made a world of difference
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
}
|
|
|
|
|
Could be wrong but it looks like a case of lack of knowledge, not knwoing/understanding that there is a better/more effecoent way to achieve teh same goal.
I work in RDBMS (sepcifcally SQL Server) and I routinely see this same kind of bad design choice and usually its due to a lack of knowledge/eductaion on the product/system. For example when the develoepr needs to store a bolean value ( 0 and <>0 ) they use a NUMERIC data type which [by default) uses 9 bytes instead of using the smaller BIT data type.
|
|
|
|
|
That's horrible. Everyone knows that you should use a varchar and store it as 'True' or 'False'.
|
|
|
|
|
This is why degrees are useful. You may not be the best programmer in the world after graduating, but at least you should learn enough to avoid code like this. Having a get-r-done attitude is fine and all, but a get-r-done intelligently attitude is much better.
Somebody in an online forum wrote: INTJs never really joke. They make a point. The joke is just a gift wrapper.
|
|
|
|
|
You were joking right?
I saw graduates that couldn't tell a variable from an array from a class from an object (etc...).
Oh, and they weren't like barely getting their grades, in fact, they were top of the class (due to compensating programming with communication or economics, plus getting their projects done by others).
'As programmers go, I'm fairly social. Which still means I'm a borderline sociopath by normal standards.' Jeff Atwood
'I'm French! Why do you think I've got this outrrrrageous accent?' Monty Python and the Holy Grail
|
|
|
|
|
Nope, not joking. Not everybody who goes through college is a better programmer than a non-college programmer. Though I'd say more college grads have better sense. Of course, that's from my anecdotal experience*, so YMMV.
*For example, I wrote my 558 Lines of QuickBasic Glory before I went to college. Relying on file IO, "unnecessary" optimizations, and third party libraries seemed like too much work at the time.
Somebody in an online forum wrote: INTJs never really joke. They make a point. The joke is just a gift wrapper.
|
|
|
|
|
I guess if you take a statistical sample of graduates vs non-graduates, the average is better, and the deviation lower.
I was worried that you'd equate degree with competence
'As programmers go, I'm fairly social. Which still means I'm a borderline sociopath by normal standards.' Jeff Atwood
'I'm French! Why do you think I've got this outrrrrageous accent?' Monty Python and the Holy Grail
|
|
|
|
|
Although, I know doesn't look all that good. There may be come consideration to optimization. Does the huge case statement cost less than a few function calls? Just a thought, and like to play devils advocate.
|
|
|
|
|
That is a joke right? Does this joke include enough to go all the way to 0%?
|
|
|
|
|
Well, I can see he has time to do code )))))))))
|
|
|
|
|
Quote: ' This code will retrieve the BatteryLifePercent property and convert it to a percent.
Really?
Why would someone convert something to percent which is already in percent?
|
|
|
|
|
Its just as well we have a logic object here, as the programmer's grasp obviously leaves something to be desired.
If logic.doLogic(sender, "Update") Then
flushMessages(sender.Page)
Else
flushMessages(sender.Page)
Exit Sub
End If
I should qualify, (before someone points it out) that this is at the end of the containing method, so the Exit Sub was redundant)
|
|
|
|
|
Pehaps the original coder thought
If not logic.doLogic(sender, "Update") Then
Exit Sub
End If
would mean his code is not logical, because of the Not logic statement
|
|
|
|
|
Not the first horror of this type. I think that VB .NET programmers miss a RegardlessOf keyword. Usage:
RegardlessOf boolean-expression
a code block which is always executed
End RegardlessOf
Greetings - Jacek
modified 18-Dec-11 9:34am.
|
|
|
|
|
A "whenever" keyword? What, is that for even simpler declaration of event handlers than VB already has?
|
|
|
|
|
I used a wrong word, it should be "regardless". I knew that sth was not right, thanks.
Greetings - Jacek
|
|
|
|
|
IMHO RegardlessOf is a very good choice you made. Especially when it's syntax would be RegardlessOf( condition ){ ... }
Cheers!
"With sufficient thrust, pigs fly just fine."
Ross Callon, The Twelve Networking Truths, RFC1925
|
|
|
|
|
It also needs
AsIf unmeetable-condition
a code block which can never execute
End AsIf
|
|
|
|
|
I'm lovin' it! Put it right next to DoNothingWithThese(variable parameters).
'As programmers go, I'm fairly social. Which still means I'm a borderline sociopath by normal standards.' Jeff Atwood
'I'm French! Why do you think I've got this outrrrrageous accent?' Monty Python and the Holy Grail
|
|
|
|
|
and that essential scope modifier, "Unused"...
as in
public unused Boolean FlagSomething = false;
|
|
|
|
|
Our students have to take basic skills exams, they are essential to getting th degree, so these tables are important. Unfortunately, the Database design looks like it was written by a gorilla mashing the keyboard. And The gorilla was not happy with the world. So far I've found:
0) A bool/bit column that never has a non-true value, and a text column with the same text in each row.
1) A date column, and a column next to it with the day of the week (Monday, Tuesday etc) as text.
2) A table that holds exam sessions with capacity and the number of students enrolled. Why is this bad? Because we have a table relating students enrolled to each session, so the real attendance is the count of those and not some needless, brittle, maintained value.
3) Two tables that define whether a student has enrolled to a skills exam. The student is always present in the first with a boolean "Enrolled", but only present in the second if they have enrolled.
The worst thing is I can't even fix it: I don't know what else sits on it. I do have the code I'm replacing written, badly, in VB.NET which is also self-obstifucating and has Database work in the UI. They didn't get the database stuff right either: the inserts which enroll a student aren't in a transaction so if anything goes wrong the database will be in an invalid state.
|
|
|
|
|
And would that be an Access database?
It reminds me of a monstrosity whose schema was unprintable using 4 A3 sheets, with many many tables that were basically simple projections (ie one table for SELECT Name, Address FROM Customers, another for SELECT Name, Phone FROM Customers), instead of using views or queries...
'As programmers go, I'm fairly social. Which still means I'm a borderline sociopath by normal standards.' Jeff Atwood
'I'm French! Why do you think I've got this outrrrrageous accent?' Monty Python and the Holy Grail
|
|
|
|