• Sam (unregistered)

    TRWTF here is if FileName is the empty string, we carefully format that empty string into the error message.

  • (nodebb)

    I'm slightly tempted, but only slightly, to think this is joke code.

  • Industrial Automation Engineer (unregistered) in reply to Steve_The_Cynic

    You might want to consider changing your name to Steve_The_Gullible

  • 516052 (unregistered)

    My guess is that the check was originally doing something else more complicated but later got trimmed away. I once ran into something similar in old code where a condition was basically like: condition && long terniary && even longer tern with multiple function calls && are you bloody serious mate? && yes, apparently you are && seriously even more terniaries and nested conditions and () and stuff && false. And it was all in one unformatted line with the false tacked onto the end where you'd newer see it.

    The worst part was, it was my old code.

  • Stella (unregistered)

    Hm. Code being in existence, looking busy, doing nothing. Oh wait, that was the HPC I once met.

  • Edd (unregistered)

    It really is looking for the name of the file which it already has in FileName

  • 516052 (unregistered)

    Speaking of random questions here is one. A couple days back I was reading through the backlog of posts on this site and ran into a comment quoting some ancient computer scientist from back in my day complaining about C. It was basically something along the lines of "C is mallware. Assembly is good." But now I can't find that quote. And google gives me nothing.

    So like does anyone know what I am talking about and can you help me find it?

  • (nodebb) in reply to Industrial Automation Engineer

    I did say I was only slightly tempted. My experience of reality does speak strongly in favour of there being some history that might even once have been good reasons, maybe (but probably not), that led the code to be that.

  • (nodebb) in reply to Edd

    It really is looking for the name of the file which it already has in FileName

    Look more closely. It is looking at the Name property of the FileInfo that was constructed from FileName, but in doing so, it overwrote FileName with that Name property ...

    Conclusion: it's just nonsense.

  • (nodebb)

    BTW, this code actually does something. The constructor for FileInfo takes a path, and the Name property returns the filename portion. If the path ends with a backslash, then the Name property will be an empty string and the exception will be thrown.

  • (nodebb)

    This is a variation of yesterday's "getStreet" method: string getFileName(string filename) { return filename; }

  • Sudeep saxena (unregistered)

    I'm slightly tempted, but only slightly, to think this is joke code. Nice Article, thanks Author.

    For unique business ideas related articles please click on below link

    Remy: LOL, bots are just trying to steal lines from other comments, like we wouldn't notice that.

  • (nodebb)

    _name (the backing field for Name is initialized with

     this._name = Path.GetFileName(this.OriginalPath);
    

    So the code actually does do something (i.e. strip off path information)

    Addendum 2021-06-03 08:32: Jamie was 100% right, I just missed that comment when I posted.

  • (nodebb) in reply to TheCPUWizard

    I'm a pro at this. I've looked at hundred of stupid code fragments that the rest of my team said "just delete it, it's useless". In the end, most of them actually do something that's hard to see and is often an important step in some convoluted process.

    It's sad that in 2021, the majority of programmers still think that if code works, it's done. This results in code like today's submission. Enough code like this and debugging and enhancing become incredibly difficult.

    Someone recently asked me about the effort to replace our ball-of-mud line of business software. I told them it would take thousands of hours just to figure out what it does, and that would have to be step #1 of any plan to replace it. No one likes that answer, so they usually respond with "well, we probably don't need all that anyways"... and they're almost always wrong.

  • Scott (unregistered)

    Is it possible that the code continues on, checking existence and creating a file if it doesn't? If so, this is just a way to not create a file with an empty string for its name.

    Probably not a great way to handle that scenario, but maybe they're trying to accomplish that?

  • MiserableOldGit (unregistered)
    Remy: LOL, bots are just trying to steal lines from other comments, like we wouldn't notice that.

    Think I've seen that on here before, but usually it's posts that get tagged on days after we all got bored arguing over the WTF of the day.

    Now where did I put that link to geunine cheep lewis vitong handbags on sale here legit site gauranteed?

  • Your Name (unregistered) in reply to Jaime

    The reason that "the majority of programmers still think that if code works, it's done" is because the majority of programmers don't have the time to make the code as maintainable as they should.

  • (nodebb) in reply to Your Name

    because the majority of programmers don't have the time to make the code as maintainable as they should

    Hey carpenter, why did the old lady fall through the stairs you made?

    "I didn't have the time to put all the nails in. Blame the general contractor that asked me to do it cheaper."

  • Sole Purpose Of Visit (unregistered) in reply to Your Name

    Well, let's consider four groups of programmers.

    a) Grizzled veterans

    b) Sprightly young things, fresh out of university

    c) Incompetent imbeciles

    d) Masters of the Universe

    Group (d) might well have the time, but don't care. Group (c) shouldn't even be given the time, because they will only make things worse. Group (b) actually do have the time, and should be encouraged to use that time, but they're shit scared of losing their first job.

    Leaving us with group (a). I will maintain, as a member of group (a), that other such programmers always have the time to make code more maintainable. Because if you're in group (a), you are more than likely the poor sod who has to maintain it.

    There is of course an interesting discussion to be had around the concept of "maintainable code." In my small company, I can just about maintain the math guy's code. I can just about maintain the code of the two "domain specialists." But all three of them have wildly different notions of what "maintainable" means, so it involves a lot of cognitive dissonance.

    But all four of us try. Because all four of us get hit when things go wrong.

  • Sole Purpose Of Visit (unregistered) in reply to Sole Purpose Of Visit

    One other thing? Manufacture the time out of thin air.

    Maintain a set of problems/features you have fixed/developed, which happen to be far down the Kanban board (or other measure). Stick them in your private Git repository, or on a shelf in MS Team, or wherever. My actual preference is to have an entire new parallel environment for this purpose, because I can update it daily to ensure it is ready for testing/deployment. This isn't great, but it's an easy win against management by committee diktat.

    Need a couple of hours to make something more maintainable? Draw from the bank. Nobody even knew that bank was there, so no loss. Then just fix the bloody stuff so that nobody in the next five years, including you, will need to fix it again.

  • Your Name (unregistered)

    So many people here have obviously never had a real job.

  • Sole Purpose Of Visit (unregistered) in reply to Your Name

    Somewhat depends upon your concept of what a real job is, doesn't it?

    I mean, I've earned other people about $10M or so in thirty years. I've saved other people (a different thing) $50M. And I'm being paid very expensive peanuts.

    But in those thirty years, I've at least been able to fix things early, put tests in place, fix disasters after things go wrong (thus the $50M), and so on. Ya kinda have to be adaptable. If we all took your attitude that "nobody will give me the time to make this maintainable" then ... yes, we'd have a Real Job.

    Luckily, we don't have to. That Real Job is all yours!

  • 516052 (unregistered) in reply to Sole Purpose Of Visit

    Sticking code in a private repository on the side is a good way to be invited to a chat with whom ever handles security.

  • Jimbo (unregistered)

    Look important but is actually useless? This code and I are living the same life.

    Don't be absurd. You aren't important. :D

Leave a comment on “A Little Info”

Log In or post as a guest

Replying to comment #:

« Return to Article