When the reviewer doesn't understand my Javascript it's his fault


  • Notification Spam Recipient

    @Zerosquare said in When the reviewer doesn't understand my Javascript it's his fault:

    @Tsaukpaetra: aren't you the only developer on this project? 😉

    Now I am, yes. I'm fixing a lot of shit now.

    For instance, getting rid of cross-dependency specifying database IDs in code which then has to be IDENTITY INSERTd into the database.


  • Notification Spam Recipient

    @Tsaukpaetra said in When the reviewer doesn't understand my Javascript it's his fault:

    @Zerosquare said in When the reviewer doesn't understand my Javascript it's his fault:

    @Tsaukpaetra: aren't you the only developer on this project? 😉

    Now I am, yes. I'm fixing a lot of shit now.

    For instance, getting rid of cross-dependency specifying database IDs in code which then has to be IDENTITY INSERTd into the database.

    And committed. Now to fixup all the functions that were hand-specifying things by ID and the refactor will be complete!

    Naturally, Loading up the test level that spawns all the known-to-be -in-the-game things results in a wall of "this thing doesn't exist!" errors that were previously hidden by using bogus IDs. Wonderbar.


  • Notification Spam Recipient

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    claim that it is safe to delete it?

    Where does it claim this?


  • Notification Spam Recipient

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    Remember the Internet 20 years ago? With all those marquees and blinking text and animated GIFs everywhere?

    No, not really.

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    Well, that's how Visual Studio IDE looks to me now.

    Feature Request: Someone make a Visual Studio Addon that does this, and we can compare @levicki's reaction to his shoulderaliens versus actuality.


  • Notification Spam Recipient

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    @Tsaukpaetra

    f4994dd6-5c97-4b7a-8f84-afe0f7dc827e-image.png

    So, by offering a suggestion of something you can do, this is your interpretation that it a claim it is safe to do it? I see.

    Hey, @levicki, I noticed you're not using $Brain, something you can do is Remove unused member.

    Also another nag nobody asked for:

    a17a97b7-eab6-4b9d-927b-33d513ef7723-image.png

    If name must start with uppercase char then enforce it by not allowing entry of lowercase char, don't nag like some woman in PMS.

    So now you want the editor to take over typing? I'll bet you'd start a rant on that too! @Lea_Verou

    :@levicki: Why does it assume I want to name something here? What if I wanted another modifier?!?! :angry:


  • Banned

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    @Gąska said in When the reviewer doesn't understand my Javascript it's his fault:

    when in one thread you chastise me for putting superfluous parentheses in my code because I don't want to memorize all precedence rules

    No I did not. It was someone else complaining about spacing around operators and all I did was told them to use () because space was not meant as an operator precedence indicator for the compiler. Then you butted into that particular discussion and started disagreeing with everyone as usual and now you are outright lying about what position I held on the topic.

    That doesn't match what I remember. Like, at all. I might revisit that topic, and either see my own stupidity or save bookmarks for direct quotes from your own posts directly contradicting what you said right here.

    @Gąska said in When the reviewer doesn't understand my Javascript it's his fault:

    Oh, so your complaint is that the default settings suck, not that it cannot be done?

    No, my complaint is that it cannot be done and you still haven't explained how to do it only once and for all future projects. Come on, smart-ass -- I am waiting.

    By specifying "only once and for all future projects", you show you are perfectly aware it can be disabled on existing projects one by one. So the feature exists. It just has bad UX, as I've already mentioned several times.

    For fuck's sake, you're worse than Blakeyrat. He only called these things bugs. But for you, if some feature doesn't have great UX, it doesn't exist at all.

    @hungrier said in When the reviewer doesn't understand my Javascript it's his fault:

    Do you get this worked up about other IDE featuresanything else you can't opt-out from permanently?

    YES.

    You must be fun at parties. Or did you successfully opt out of them permanently?

    @Tsaukpaetra said in When the reviewer doesn't understand my Javascript it's his fault:

    :rofl: yeah right. It has only recently begun doing things for the not-even-commited stuff, and now you want it to analyze history?

    Can you tell if something is or will be used in the future without knowing the past?

    Can you write even one sentence without completely missing the point?

    What if some totally unrelated code from another project which your stupid AI is not aware of is calling it through reflection?

    Do private members get exposed in reflection? Because public members don't get squiggled.

    Or you just want it there to save it so you don't have to write it from scratch if the client changes their mind?

    Have you heard of version control systems?

    @Tsaukpaetra said in When the reviewer doesn't understand my Javascript it's his fault:

    No no no! The 💡 will not be ignored! You must attend it mid-keystroke! Or else!

    There are some people who are oblivious to blinking and squiggling things. The kind of people who would get run over by a car when crossing the street because they didn't see the glint from the car with the corner of their eye. I am not one of those people and visual cues distract me easily.

    I'd say being so easily distracted increases, not decreases you chances of being run over by a car.

    That's how my sight and brain are hard-wired and I just can't change it. Is asking for an OFF switch really too much?!?

    Of course not. But there's no need to be so melodramatic about it.

    @dfdub said in When the reviewer doesn't understand my Javascript it's his fault:

    It was implied that asking employees to adhere to rules is somehow immoral.

    Dude, asking literally the smartest people you hire to adhere to your arbitrary rules "because I said so" while you personally have no clue about writing code and programming tools should be illegal because it is alread both immoral and stupid beyond belief.

    Who said it was the non-programmers on the team that came up with the rules for programmers?



  • @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    Dude, asking literally the smartest people you hire to adhere to your arbitrary rules "because I said so" while you personally have no clue about writing code and programming tools

    You're acting as if managers choose the exact code style rules that are applied. They don't, at least not in any company I've ever seen. Developers do and the management then makes this a general rule.

    should be illegal

    No.

    because it is alread both immoral

    Please elaborate. I'd love to learn more about your system of moral values according to which this is unethical.

    and stupid beyond belief.

    Because you don't like it?


  • Notification Spam Recipient

    @Gąska said in When the reviewer doesn't understand my Javascript it's his fault:

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    Dude, asking literally the smartest people you hire to adhere to your arbitrary rules "because I said so" while you personally have no clue about writing code and programming tools should be illegal because it is alread both immoral and stupid beyond belief.

    Who said it was the non-programmers on the team that came up with the rules for programmers?

    This. Assuming facts not in evidence.



  • @Gąska said in When the reviewer doesn't understand my Javascript it's his fault:

    You must be fun at parties. Or did you successfully opt out of them permanently?

    Of course he did, there are too many distractions and people talking to him



  • @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    It was someone else complaining about spacing around operators and all I did was told them to use () because space was not meant as an operator precedence indicator for the compiler. Then you butted into that particular discussion and started disagreeing with everyone as usual and now you are outright lying about what position I held on the topic.

    Someone — :kneeling_warthog: to check who — complained about spacing around operators not giving a hint about precedence. I said I make the precedence explicit with parentheses. Someone — I think it was the same person, but :kneeling_warthog: — said unnecessary parentheses were double-plus-ungood clutter. The conversation then turned to memorization of precedence rules for every language under the sun, and I broke out teh 🍿.



  • @Tsaukpaetra said in When the reviewer doesn't understand my Javascript it's his fault:

    Speaking of refactoring:

    bf8dc6c8-afd9-4b9d-b1d4-52830ee2f484-image.png

    This fucking thing.

    The underlying field is publicly available. And the things that use it actually use the field pretty much immediately most of the time.

    Who the fuck did this?!?!

    That looks like something that I wrote when I was groggy or missed out removing while refactoring.



  • @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    @Steve_The_Cynic So a classic case of juniors fresh out of university over-designing things to show off their 1337 C++ skills? I once had the misfortune of "customizing" one such C++ project for PoS terminals. They used classes even to represent ACK and NAK characters in data packets and giant XML configuration files (like 300+ KB) were used to customize the protocol and transaction flow. Of course, there was no documentation (they left before finishing the code), and no application for editing XML (you had to do it by hand).

    Not fresh out of university, no, and the semi-senior certainly wasn't fresh out of university. He was supposed to have been keeping at least half an eye on them as they worked on it (and who knows, maybe it would have been worse if he hadn't been there). And the over-design wasn't nearly at the level you cite. It centred mostly on the structural elements rather than the C++ aspect, although the C++ aspect didn't help.

    To be clear:

    • The classes they built represent meaningful objects in the system. (No, a class that represents an ACK character does not meet this criterion.)
    • The classes do have a reasonable separation of responsibilities, even if some of them shouldn't exist in the first place.
    • Where a class shouldn't exist, it is because the desgin-level object it represents shouldn't exist.
    • All of the above points mean that it has been relatively easy to remove the code I've removed.

    Overall, it's a reasonably clean implementation of an over-complicated design, capable of a great many things that our system doesn't need. I just wish there weren't so many lambdas, and that the async-callback model was actually async. (In a proper async-callback model, callbacks must always be called back asynchronously after the call that requested them returns rather than during it in some cases and after it in others.)


  • Banned

    @Steve_The_Cynic said in When the reviewer doesn't understand my Javascript it's his fault:

    In a proper async-callback model, callbacks must always be called back asynchronously after the call that requested them returns rather than during it in some cases and after it in others.

    In the lack of generators and related syntax sugars in the language, I think it's a reasonable design choice, compared to passing around continuation closures.



  • @Zerosquare said in When the reviewer doesn't understand my Javascript it's his fault:

    @Tsaukpaetra: aren't you the only developer on this project?

    But he might be multiple personalities...


  • Banned

    @BernieTheBernie but I only ever get one like from him.


  • Discourse touched me in a no-no place

    @Gąska All your likes come from @boomzilla, of course…


  • Banned

    @dkf and downvotes too!



  • @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    What if some totally unrelated code from another project [...] is calling it through reflection?

    :doing_it_wrong:

    I am not one of those people and visual cues distract me easily. That's how my sight and brain are hard-wired and I just can't change it. Is asking for an OFF switch really too much?!?

    I'm very annoyed by automated linting squiggles while working. But I do like style checkers and linters on commit.

    Dude, asking literally the smartest people you hire to adhere to your arbitrary rules "because I said so" while you personally have no clue about writing code and programming tools should be illegal because it is alread both immoral and stupid beyond belief.

    If you were smart you would fight to make the rules saner (where it makes sense to spend the effort) or find a place with saner rules to begin with. Insisting that you can make up your own rules because you're smart sounds pretty dumb on a social level.


  • Notification Spam Recipient

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    either IntelliSense is an expert and its claims have merit, or it is just a retarded ruleset made by retarded people which is wrong most of the time and can be safely ignored.

    Only the Sith deal in absolutes.

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    The question is, if it can (and should) be ignored, why there is no global OFF switch so we don't have to expend mental energy to suppress it?

    There is, and I believe it's been pointed out to you multiple times, with several variations for a solution. It's not my fault you can't comprehend. Besides, this isn't a Help category. Stop whining when people aren't being helpful.

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    So, if it must be done, why not enforce it instead of nagging?

    How would you want it enforced? Would you be fine with the editor rewriting your program as you typed to "enforce" it? As in

    @Tsaukpaetra said in When the reviewer doesn't understand my Javascript it's his fault:

    So now you want the editor to take over typing?

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    The problem here is that nobody wants to admit that my criticism is not baseless,

    You haven't been paying attention to the thread at all, have you?

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    that some of those new features are indeed retarded (as in poorly thought out and more in the way than they are helping),

    See above.

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    the UI in Visual Studio was getting progressively worse with each new release since Visual Studio 2013.

    Opinions are opinions. Who knew? Why do you need validation of your opinions?



  • @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    Word "should" on the other hand can be ignored because it is just a recommendation.

    Can be ignored, sometimes, maybe, but usually shouldn't. There's generally a (good, or not) reason for the recommendation.



  • @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    You can absolutely access all memebers using reflection:

    If you have code like that, I think a squiggly line is the least of your problems.



  • @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    And an empty TFS instance hosted on Azure is already slower than moderately used GitLab on premises. Can't imagine how well that TFS will work after it gets some real use.

    Whatever the difference will be, it'll be 99% Azure vs on-prem, rather than anything innately bad about TFS. My workplace has been using git on TFS for a couple years now, and it works just fine.



  • @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    @Tsaukpaetra said in When the reviewer doesn't understand my Javascript it's his fault:

    How would you want it enforced? Would you be fine with the editor rewriting your program as you typed to "enforce" it?

    Isn't it already rewriting your program if it is nagging you to change it and you cave in?

    No. If you see an ad for McDonalds, the ad didn't drive your fat ass to the restaurant and order 3 Big Macs, you did that yourself.


  • Discourse touched me in a no-no place

    @Tsaukpaetra said in When the reviewer doesn't understand my Javascript it's his fault:

    Only the Sith deal in absolutes.

    Do Jedi prefer to use magnitudes instead? I suppose that generalises better to multidimensional numbers such as vectors or quaternions…



  • @dfdub said in When the reviewer doesn't understand my Javascript it's his fault:

    It was implied that asking employees to adhere to rules is somehow immoral.

    It's only asking in the sense that a carjacker "asks" you to get out of the car.

    You're acting as if managers choose the exact code style rules that are applied. They don't, at least not in any company I've ever seen. Developers do and the management then makes this a general rule.

    "works on my machine"

    Jesus Christ, I personally sat through a meeting where the manager literally said "these are the rules you're all going to follow from now on."



  • @levicki Im not saying it serves no purpose, I’m saying that if you do advanced tricks like that, you will probably be clever enough to write some comments and not let yourself be fooled by a squiggly line.


  • Notification Spam Recipient

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    Isn't it already rewriting your program if it is nagging you to change it and you cave in?

    No. At least, no more than that SJW on TV is literally sending you to Hell for acknowledging gays.

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    It's just you who is doing all the manual work while your PC is being your smart-ass "friend" looking over your shoulder and telling you what to do.

    No.


  • Notification Spam Recipient

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    @dkf said in When the reviewer doesn't understand my Javascript it's his fault:

    Do Jedi prefer to use magnitudes instead?

    No, the Jedi prefer Fifty Shades of Grey 🥁

    So long as it doesn't involve actual love, it's kosher.



  • @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    Let me get this straight -- you are equating "features" in Visual Studio with ads?

    No, I'm demonstrating that there's a difference between suggesting and doing



  • @hungrier said in When the reviewer doesn't understand my Javascript it's his fault:

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    Let me get this straight -- you are equating "features" in Visual Studio with ads?

    No, I'm demonstrating that there's a difference between suggesting and doing

    I keep forgetting that the Return key for Visual Studio autocompletes for me and I had to keep deleting autocompleted stuff. Sometimes, it is just annoying. Intellisense, IMO, is 50% helpful and 50% annoying.


  • Discourse touched me in a no-no place

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    I said Roslyn analyzer can't know for sure whether method is used or not and it shouldn't be claiming that. As I demonstrated above, it can't even know if I call it from the same assembly, let alone from a different one.

    If you're smarter than the IDE (and you really should be!) then you can know to ignore its suggestions. It's just a bunch of code that's applying pattern matching and tree searching to try to highlight things that are common issues. It's not aware of what's still in your head.

    The time to look for dead code is once you think you're getting ready to commit the state and have others review it.


  • Banned

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    @Gąska said in When the reviewer doesn't understand my Javascript it's his fault:

    That doesn't match what I remember. Like, at all.

    Time for you to eat crow then.

    Post from which the discussion on operator precedence started:

    64a7a63f-ddef-4ad8-8b0e-bcdefc6002ec-image.png

    My reply to it:

    8966af7e-ffe2-42c7-ade1-27f1586942d3-image.png

    Another reply of yours:

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    That's also why the reader is an idiot if he doesn't know how operator precedence works in his language of choice.

    And one more:

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    Fuck the human reader who doesn't know operator precedence of their chosen language. I said that much, haven't I?

    The only thing I misremembered was that it was another topic. It was the same.


    By specifying "only once and for all future projects", you show you are perfectly aware it can be disabled on existing projects one by one.

    We are obviously not talking about the same feature -- see below.

    So the feature exists. It just has bad UX, as I've already mentioned several times.

    No it doesn't exist -- there is no checkbox in settings which says "Stop nagging me". That is the feature I am talking about, while you are talking about tedious and pointless manual workaround I'd have to perform for every existing project, and for every new project I create until the end of time.

    This manual workaround you're talking about is the exact feature you're complaining that it doesn't exist. As you are perfectly aware (you wouldn't mention it if you weren't aware of it), it exists, it does exactly what you want it to do, and the only problem is that it cannot be applied globally (and some other UX problems it has).

    Do private members get exposed in reflection? Because public members don't get squiggled.

    You can absolutely access all memebers using reflection:

    535ee060-f1ab-4d28-aa26-094401c83599-image.png

    TIL. Though my personal opinion is that anybody who does that in real code should be fired. And repeated offenders should be fired at.

    Of course not. But there's no need to be so melodramatic about it.

    It's melodramatic because the requests for that switch are being ignored since Visual Studio 2015 and they keep adding more and more "in your face" features like that.

    You make it sound like VS2015 is some ancient history. It's just 2 major versions back. Have some decency and wait until it's at least a decade old, when it joins thousand other veteran issues that have been around in popular software for over a decade and still haven't been fixed. Like this MySQL bug where triggers don't get fired by ON DELETE SET NULL.

    Who said it was the non-programmers on the team that came up with the rules for programmers?

    All of you assumed that programmers came up with the rules (in what I think it was Zenith's? example).

    I am just saying that it could be the other way.

    Theoretically, it could. In practice, I've never heard of anybody who heard about such thing.

    For example, in my current company managers want us to switch to using TFS even though we have a perfectly functional GitLab.

    That's tool selection, not code style rules. To quote one very wise member of this forum:

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    1. Stop moving the :moving_goal_post: .


  • @HardwareGeek said in When the reviewer doesn't understand my Javascript it's his fault:

    @Shoreline said in When the reviewer doesn't understand my Javascript it's his fault:

    I've worked in 3 places which habitually both told me how long I had and demanded estimates.

    Manglement: How long will it take to do $task?
    Engineering: $task will take X time.
    Manglement: $task will be done in X/3.

    Hey! That's my story.

    But yeah that exact thing happened somewhere and I'm mildly startled that I can't see where I wrote it first (that's some twilight zone shit). In my first year of my career I was asked how long it would take me to build half a medium-sized commercial website. I estimated six weeks. He said "that's too long", and left an awkward pause presumably to make me talk, so I asked "how long do I have?" and he tells me "two weeks". I said "Ok? I'll try.".

    Caving to management bullying by stupidly agreeing to their bullshit demands was a minor mistake on my part. Like, what were the consequences going to be? I wouldn't pass my probation? Fine. Fuck 'em.

    No, my TRWTF was that I put my own unpaid time into trying to meet their BS deadline. That included all the UK spring bank holidays, easter weekend (including good Friday) and several late nights. "That's not so bad," you think "I've worked longer hours." I'm sure you have, but I already foreshadowed the next bit: I didn't pass probation. I was accused of being "sloppy", a crime for which they'd conveniently singled out me, working in an environment with no process (I later found out this is called a "creative environment", ha ha ha), and without the time I needed to complete the task I was doing for them, which I'd invested from my own personal time.

    So TRWTF was that I gambled a bunch of my personal time, having bought into some dumbass fucking fiction that my time wasn't worth very much, and won exactly nothing for it. If I hadn't sunk it into my work I would have failed probation anyway and been a lot happier in the process.

    There was nothing I could do for the business, of course. I found out later they continually shrank/grew and had been doing so for about ten years (probably counted as a "startup" lol). Last time I checked they were operating out of the director's front room in his house, rather than the done-up barn with wasps in the middle of a field outside of TOWN_NOT_FOUND.

    So now when people are like "what's your weekend availability" I'm just like "Oh no! I have plans! Alas! If only you'd asked about six months ago when I planned my WEEKENDS AND EVENINGS WHICH YOU NOW WANT ME TO WORK ON! Such a shame!" None of which I say at all, but making them give me weeks of notice to work outside of hours might hypothetically prompt my current workplace to actually plan things properly rather than give personal hobby projects to multi-million-pound (yes, I'm British) contracts without taking the opportunity to fix up the code.

    I read somewhere on this forum once that nothing before your 1st year of your career counts as a RWTF because before your 1st year you're going to be shit. I'm ok with that, because my WTF would be some of the dumbest shit I've ever done, and I once accidentally deleted 10% of a raw advertising stats table and replaced it with dev data without noticing.

    Kids, don't do what I did. Your time is precious regardless of what the capitalist oligarchs tell you. You have worth beyond your earnings. You're not and never will be a mechanical factory of productivity owned by a dude with money no matter how much they want you to believe that that's the goal. Work ethic is doing the job you're paid for and ambitiously throwing your time and money into things to get back a career or more money or whatever. It is not throwing your time into random shit because a dude told you to.

    </rant>
    


  • @Shoreline said in When the reviewer doesn't understand my Javascript it's his fault:

    I once accidentally deleted 10% of a raw advertising stats table and replaced it with dev data without noticing.

    You may call that a WTF, but others would see it as a necessary (if accidental) act of sabotage that you should be proud of.


  • kills Dumbledore

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    @hungrier said in When the reviewer doesn't understand my Javascript it's his fault:

    @levicki Hard pass. That sounds like an even worse version of vi's state change nonsense.

    Why not be able to pick a mode which lets you focus on different aspects of code you are working on?

    Why would that be so bad in your opinion?

    Note that I don't mean you get different GUI or different commands or anything, just different kinds of warnings and visual cues from IntelliSense.

    I'd prefer menu options to run particular types of analysis. Sometimes you open a solution, add some functionality then do a bunch of refactoring once it's working. It would be stupid to have to close and reopen the solution to get different warnings


  • kills Dumbledore

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    literally the smartest people you hire

    I don't have an ego


  • Banned

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    I hate to have to explain simple sentences and concepts but the part where I am saying "That's also why the reader is an idiot if he doesn't know how operator precedence works in his language of choice." was still referring to ixvedeusi and his preference of using spaces instead of () and then whining when IntelliSense removed those spaces.

    Oh, sorry. I'm not psychic and I didn't realize that "the reader is an idiot if he doesn't know how operator precedence works in his language of choice" only referred to people who don't know precedence and help themselves remember precedence with spaces, and doesn't include those who don't know precedence and help themselves with parentheses.

    You could infer from what I was saying that I am advocating a binary choice -- either he uses parentheses like all normal people when he is not sure about operator precedence, or he fucking learns the precedence for the language he uses the most and doesn't need () and all the time.

    I mean, if you mentioned parentheses anywhere in those posts, yeah, maybe I could have inferred that. But you didn't. You just said that people who don't know precedence rules by heart are idiots.

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    @Gąska said in When the reviewer doesn't understand my Javascript it's his fault:

    and the only problem is that it cannot be applied globally

    If it cannot be applied globally then it is not the same feature. I am looking for.

    If the end result of you fighting with the absolutely godawful interface is exactly what you want, then yes, it is the same feature, and your only problem is the interface.

    If I hooked 200 electrodes to your body with each one of them letting just enough electrical current to cause you great discomfort at each connecting spot and I left 200 switches scattered everywhere in a huge room you are in, would you be happy finding and turning those switches off one by one, or would you ask me where is the master switch?

    Of course I would ask for master switch. It provides much better UX. But switching them off one by one eventually gets me where I want too.

    You make it sound like VS2015 is some ancient history.

    Isn't 4 year old software ancient history now?

    It's not 1996 anymore. Software evolves much more slowly nowadays.

    Supposedly they are building this complex piece of software incrementally and it shares much of the same codebase with Visual Studio 2013 Update 5 from which it presumably branched to 2015. How fucking hard is to add that checkbox I am looking for?

    Make a plugin and see for yourself, if you're that interested. Most likely it's not a technical problem, it's scheduling problem. Too much work, too few people, prioritization needs to be done, things that can go into marketing brochures get prioritized above your pet peeve.

    That's tool selection, not code style rules.

    That's beside the point

    No it's not. There are many non-technical reasons for selecting one tool over another - licensing, available support, how easy it is to find and hire developers with matching skillset, company-wide tech uniformity policies, among others. With code style rules, there's neither a reason for the management to get involved, nor does the management get involved in practice.

    Though my personal opinion is that anybody who does that in real code should be fired.

    Perhaps you like this example better?

    f77ee5ed-d8e6-46f4-98bd-83fc9a0f48d4-image.png

    God Almighty no, fuck no. Kill it with fire.


  • kills Dumbledore

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    @Jaloopa said in When the reviewer doesn't understand my Javascript it's his fault:

    I'd prefer menu options to run particular types of analysis. Sometimes you open a solution, add some functionality then do a bunch of refactoring once it's working. It would be stupid to have to close and reopen the solution to get different warnings

    What I meant is something like this:

    81af64af-e345-431c-a462-d4cd28c034e0-image.png

    Nah, something like the code analysis stuff. "run refactoring checks now", "run performance checks now" etc.



  • @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    Perhaps you like this example better?

    :wtf: Why are you accessing private methods with reflection? The use of reflection will already cause raised eyebrows. Accessing private members through reflection is not acceptable at all in polite society. It's dirty manners. You won't get invited back. Professionals will unfriend you on the Facebook. You'll be reborn a PHP programmer.

    The general rule is that once you think about using reflection, you've already strayed from the path of the righteous.


  • Banned

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    @Gąska said in When the reviewer doesn't understand my Javascript it's his fault:

    I mean, if you mentioned parentheses anywhere in those posts, yeah, maybe I could have inferred that.

    Sorry your majesty, I forgot that in order to understand anything, you need everything spelled out.

    You need to remember not everybody is psychic like you. Most people, when you tell them you've had scrambled eggs for breakfast, won't immediately figure out that your car was out of fuel.

    @Gąska said in When the reviewer doesn't understand my Javascript it's his fault:

    If the end result of you fighting with the absolutely godawful interface is exactly what you want, then yes, it is the same feature, and your only problem is the interface.

    No, what I want is a master switch. There is no such thing in the interface, hence the feature to globally turn it of doesn't exist.

    As I said - your problem is the interface.

    @Gąska said in When the reviewer doesn't understand my Javascript it's his fault:

    But switching them off one by one eventually gets me where I want too.

    I forgot to tell you that as you switch one electrode off I replace it with a new one which is on by default. Enjoy!

    How many new projects you create for every one you disable suggestions in? Try to keep your analogies at least somewhat relevant to the discussion.

    @Gąska said in When the reviewer doesn't understand my Javascript it's his fault:

    There are many non-technical reasons for selecting one tool over another - licensing, available support, how easy it is to find and hire developers with matching skillset, company-wide tech uniformity policies, among others.

    GitLab Community is free. TFS is not.
    GitLab easily integrates with everything. TFS does not.
    GitLab has lower requirements and has better performance.
    GitLab has paid support if you need it (Enterprise version).
    TFS has much steeper learning curve.
    GitLab is easier to manage, TFS needs a dedicated admin person.
    GitLab is developer-centric, TFS is management-centric.
    GitLab has groups, TFS does not (collections are not the same, and projects can contain other projects but that's not same as groups).
    Even Microsoft is giving up on TFS internally and moving more and more stuff to Git (and GitHub).

    I could go on, but you get the point.

    I do. You think there's a lot of reasons to use GitLab and absolutely no reasons whatsoever to use TFS. You should talk about this to your manager. Who knows, maybe one of you will change their mind afterwards.

    @Gąska said in When the reviewer doesn't understand my Javascript it's his fault:

    With code style rules, there's neither a reason for the management to get involved, nor does the management get involved in practice.

    Zenith gave an example of that but you all can keep ignoring it.

    I admit, I didn't read the entire thread with utmost scrunity. It was pretty well hidden fragment. But okay, I admit. It happens. Managers do indeed meddle with coding style sometimes. It's very rare, but it's a thing.

    @Gąska said in When the reviewer doesn't understand my Javascript it's his fault:

    God Almighty no, fuck no. Kill it with fire.

    I knew you were going to love that 🤣

    I just hope it wasn't a screenshot from anything that's actually being run.


  • kills Dumbledore

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    TFS has much steeper learning curve

    Ohwaityoureserious.jpg


  • Notification Spam Recipient

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    How do you mark private memebers of the class to serialize/deserialize them?

    You don't.

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    How is the test framework accessing your private methods?

    It shouldn't be.

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    Then you don't understand reflection at all.

    Probably part of this is true.



  • @Tsaukpaetra said in When the reviewer doesn't understand my Javascript it's his fault:

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    How do you mark private memebers of the class to serialize/deserialize them?

    You don't.

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    How is the test framework accessing your private methods?

    It shouldn't be.

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    Then you don't understand reflection at all.

    Probably part of this is true.

    I remember there was a discussion in the .Net issues section about whether to allow external excess to private fields with attributes via reflection, since it is not a good practice and is not recommended. But Unity Editor as a product relies heavily on this feature to expose private fields to the Editor UI to allow level designers to set starting parameters. As of now, the Roslyn analyzer will just keep on being a noisy ass and fire off warnings for the SerializeFieldAttribute.



  • @gleemonk said in When the reviewer doesn't understand my Javascript it's his fault:

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    Perhaps you like this example better?

    :wtf: Why are you accessing private methods with reflection? The use of reflection will already cause raised eyebrows. Accessing private members through reflection is not acceptable at all in polite society. It's dirty manners. You won't get invited back. Professionals will unfriend you on the Facebook. You'll be reborn a PHP programmer.

    The general rule is that once you think about using reflection, you've already strayed from the path of the righteous.

    While reflection is considered much like GOTO is these days, it does have it's uses and should not be dismissed simply because it is reflection. If you can solve a problem without reflection and without making it worse than having reflection, then do so. But reflection is used all over the place in good ways.
    I do understand where the dislike for reflections come from though, my first interaction with reflectiony code was some horrible misuse where implementing an interface and similar patterns would have been a lot better, and it caused a lot of errors to go from compile time to runtime, and being seriously hard to debug because the code jumped through several layers of reflection just to add to the insanity. But I've also seen the reverse, reflection used to massively cut down code complexity and increase ease of use of the code, and code reuse.

    Now that said, using reflection to fiddle with privates in unit tests is decidedly into the territory of doing it wrong harder and "smarter".


  • Discourse touched me in a no-no place

    @Carnage said in When the reviewer doesn't understand my Javascript it's his fault:

    While reflection is considered much like GOTO is these days, it does have it's uses and should not be dismissed simply because it is reflection.

    GOTO has its uses (it's a fundamental flow control primitive) but they're thankfully rare in languages that have a full set of modern structured programming constructs.

    Reflection also has its uses (as you listed) but it's a bit expensive in languages not designed to be very good at it and it does have more failure modes than strong binding. (The key advantage is that it lets you avoid having to write those strong bindings explicitly, which can often be a lot of really annoying boilerplate code.)


  • 🚽 Regular

    @gleemonk said in When the reviewer doesn't understand my Javascript it's his fault:

    The use of reflection will already cause raised eyebrows

    reflecting.png


  • BINNED


  • Banned

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    @gleemonk said in When the reviewer doesn't understand my Javascript it's his fault:

    :wtf: Why are you accessing private methods with reflection?

    Because I can.

    You can also shoot yourself in the head. Why won't you do that too?

    @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    The use of reflection will already cause raised eyebrows.

    Really? And how do you think all those attributes work?

    In C#? They get compiled down to getter and setter calls.

    How do you mark private memebers of the class to serialize/deserialize them?

    Ideally, you add an annotation to the class and it generates a public serialization/deserialization methods that take care of it without reflections.

    How is the test framework accessing your private methods?

    Why would it?

    @Gąska said in When the reviewer doesn't understand my Javascript it's his fault:

    Most people, when you tell them you've had scrambled eggs for breakfast, won't immediately figure out that your car was out of fuel.

    But most people would figure out that I either washed my dishes afterwards or I left them dirty in the sink.

    And when you say "fuck people leaving dirty dishes behind", most won't be able to figure out that leaving them in the sink is fine in your book.

    Don't know about you, but to me there is no difference whether I have to do something once or ten times when it is something I don't like doing.

    But there's a difference between doing something ten times and doing something so often you literally have no time to do the actual work. If you spend so much time creating new projects and disabling inspections that you have no time for anything else, the lack of global checkbox is the least of your problems.

    @Gąska said in When the reviewer doesn't understand my Javascript it's his fault:

    I just hope it wasn't a screenshot from anything that's actually being run.

    Actually, CERN liked it so they took it for their LHC project. 🚎

    Explains why it took them so many years to get any useful results.



  • @Gąska said in When the reviewer doesn't understand my Javascript it's his fault:

    How do you mark private memebers of the class to serialize/deserialize them?

    Ideally, you add an annotation to the class and it generates a public serialization/deserialization methods that take care of it without reflections.

    This, is what I have been trying to convince my coworkers to do. Trying to champion the use of ISerializable and likes is a much better practice than having Attributes+private fields.



  • @levicki said in When the reviewer doesn't understand my Javascript it's his fault:

    Why are you accessing private methods with reflection?

    Because I can.

    You must be real popular to do code-reviews with.

    Levicki, why do you keep the recursion stack in a global variable?

    Because I can.

    Levicki, what is this magic number here?

    A float.

    Levicki, why do you use the increment operator twice in the same statement?

    It works fine with Intel C compiler release 11.1.


Log in to reply