« first day (1805 days earlier)      last day (3162 days later) » 

user15026
7:01 PM
@JimmyHoffa From what I understand, it's generally indicative, with the exception of things like arterial wall thickening. But it's been a long time since I was in the medical field, so my knowledge of these things is not as awesome as it used to be
 
This will allow us to not hijack this room away from important discussions about coffee and alcohol
 
user15026
So like take it all with a grain of salt
 
user15026
@JimmyHoffa Okay, yeah, that's an experience I've not had.
 
Eh, there's so much indirection in this program that I can't even tell if the Regex comparator is ever called or not.
It's in a ComparisonFactory, which is passed a GUID from a table to determine which comparator to return.
 
@RobertHarvey It is very testable no?
 
7:03 PM
Sure, if I write some tests for it.
 
@RobertHarvey write tests? BOOO! HISSS, just imagine what it would do then go home and drink a beer like a real engineer.
 
Parsing is a good fit for tests ime two reasons: 1) documentation 2) Usually nice pure fucntions.
 
To set up a really good test, you need two Fetcher objects (for the left and the right parameters of the comparator), and a Comparator object , all instantiated by feeding Factory methods GUIDs from a table.
 
parsing is like the ultimate example of code that cannot be made untestable unless you actively try
 
And because they don't have a tool to set up all these table records, they're writing SQL scripts to push them into the tables.
 
7:06 PM
overengineered?
 
I'm going with they actively tried
 
This is what one of the List entries in the FetcherFactory looks like:
 
@Ixrec you forget; for anything to be testable, you need to have requirements first. He's actively trying to reverse engineer those right now, he could test that code all he wants but that doesn't tell him what it should do.
 
            new Tuple<Guid, Type, object>(RetrieverTypes.ExternalDataServiceCallResultKey, typeof(ExternalDataFetcher<Guid>), new Func<IExternalData, Guid?>(c=> c.ServiceCallResultKey)),
 
Tuple, ew
Is it publicly visible?
 
7:08 PM
Tuple is the least of my problems.
 
@JimmyHoffa the requirements for a parser also seem like they should to be fairly easy to discover, just by looking at the things it's been parsing
though this guid fetching nonsense is a very clever way of making it not the way it should be
 
looks hairy, the func as an object also
 
@Ixrec that's his problem; he's trying to figure out what it's been parsing and following that thread seems to be leading him in circles
 
@JohanLarsson No, it returns an IValueFetcher object.
 
I started to use the IoC in tests, it has been great for refactoring.
And the bindings gets tested as a bonus.
Downside is more advanced code but it can be spread out over a couple of thousand tests.
 
7:12 PM
IValueFetcher has two methods: CanFetch(), and Fetch(). It returns a Result<T> object. Thankfully, Result<T> has a GetValue() method. It looks like this:
        TType IResult.GetValue<TType>()
        {
            return Value is TType
                ? (TType)((IResult)this).GetValue(Value.GetType())
                : (typeof(TType).IsAssignableFrom(typeof(T)) || typeof(T) == typeof(TType))
                    ? JsonConvert.DeserializeObject<TType>(JsonConvert.SerializeObject(Value))
                    : (TType)((IResult)this).GetValue(typeof(TType));
        }
 
I don't get it
 
I think that's just a really elaborate defensive cast.
Because the lambda is an object, remember? So you have to get it back to the original type.
There's no telling what might be in there.
 
@RobertHarvey Nit: use as and nullcheck.
 
Suits me.
 
less error prone and gets rid of the nested ternary as a bonus
 
user41796
7:17 PM
Yeah, I prefer Foo myFoo = object as Foo because of myFoo being null if the cast fails.
 
I think there must be something more to it than that though. This guy knew about is and has; since his code is all explicit interface implementation, it's riddled with is and as.
Mostly as.
 
user41796
IIRC, as is better than is because is will throw whereas as will return null
 
user41796
Pretty certain that sentence is completely indecipherable to anyone who doesn't know about those since I confused the mechanics
 
The problem as an nullcheck solves is:
if(o is IFoo)
{
return (IBar)o;
}
 
@GlenH7 is is a boolean, it won't throw, it returns true or false.
 
7:20 PM
@GlenH7 thank god for backticks
 
None of this is my real problem though. My real problem is that all of the C# code is just scaffolding. You have to know what's in these configuration tables to make any sense of it, because it's the content of the configuration tables that decides what objects the factories return.
 
and as + nullcheck has better perf iirc but prolly hard to measure the diff
 
It's almost as if he implemented an IoC container in a SQL database.
 
And no tests?
 
Very few. The tests that are there are top-level integration tests that drill down through many layers of architecture.
So essentially there's no documentation, other than the code itself.
The SQL script that creates the rule set for just one of these modules starts off with about 170 lines of code that look just like this:
declare @RegexContains uniqueidentifier = '98C8BD84-F8F8-40D0-B98D-623E5E959480'
Which maps the GUIDs in the tables to the Factory configurations.
 
7:25 PM
Pain, my condolences.
 
Then you've got about 20 of these:
INSERT INTO [Verifications].[dbo].[VerificationRule]
           ([VerificationRuleKey]
           ,[Description]
           ,[ActualRetrieverTypeKey]
           ,[ExpectedRetrieverTypeKey]
           ,[ComparisonTypeKey]
           ,[StatusKey]
           ,[VerificationRuleSetKey]
           ,[ExecutionOrder]
           ,AllowOverride
		   ,[IsTerminationRule])
     VALUES
     --BASIC RULES
           (NEWID()
           ,'Licence number must match'
           ,@ExternalDataRegistrationNumber
           ,@AnswerLicenseLicenseNumber
See the @StringInvariantCultureIgnoreCaseAndSpace? That's the comparator.
It uses that to grab the correct comparator from the ComparatorFactory.
And it uses the retriever keys to get the correct fetchers for expected and actual.
Oh, did I mention that you can have rulesets? And that the whole thing runs recursively?
[sigh]
 
and you're the only guy on this?
 
There's one other guy. He's about as wise as me. The guy who wrote it left a few months ago.
 
@RobertHarvey Somebody was given a hammer, everything turned into a nail. Only problem was their hammer was indirection, which really just decomposes problems, but doesn't solve them. So the problems are all thoroughly decomposed and spread out like a spider web. I guess what I'm saying is...
 
Yes, that's exactly right. It's kind of ingenious in a way.
If only we had a tool to make those SQL scripts...
Because it's decomposed enough now where you could set the whole thing up from a UI, if you had one. But he never got around to that.
That would have been the whole point of all this hulabaloo. But he never pulled the trigger on the UI.
 
user41796
7:34 PM
@RobertHarvey So he's the wisest out of all of you?
 
@GlenH7 you weren't paying attention, let me repeat
 
user41796
"Roll off before your clever contraption is rolled out."
 
I take it you guys aren't impressed.
 
He wasn't wise, he was a witch you moron! You wouldn't survive 10 minutes in Evil Dead...
 
user41796
@RobertHarvey Oh, I am impressed. But I've also had to deal with the aftermath of trying to pick up something like that.
 
@RobertHarvey it's just like I mentioned yesterday; semantic density. The system's all glue and no substance, semantically nowhere near dense enough.
 
^nice
 
i see
 
Durron thought that might be a good idea
 
I find myself writing crap like that when I don't have a clue about a problem. Often revert it.
 
7:37 PM
too much substance in one place and you end up with 5000 line procedures, too little and you end up with 5000 one line procedures...
 
I think of it like trying to grab a soap or something that slips away :)
 
user41796
@enderland It's trivial to move a message from one room to another. I'm not opposed to being dropped in here too. Not everyone will be in the other room too. Even thought they should. :-)
 
I guess what I said came across the wrong way :s
meant it more of an FYI @whatsisname...
 
@JohanLarsson I've written about this problem: As engineers we're trained to decompose problems and do all these neat engineering tricks, but we have no training in solving actual business problems, so very often people revert to engineering tactics instead of problem solving. We know how to write factorys, but don't know how to calculate the cost differential some business exec in our company wants to weigh sprockets vs widgets... so we put it off
 
user41796
 
7:41 PM
Devs do this all the time and you end up with this whole design pattern culture instead of problem solving culture. Sadly the other half of the coin is people going the other extreme: They don't know squat about good engineering methodology or design, so they just hack a 5000 line procedure that solves the problems.
 
@JimmyHoffa I think I avoided that problem because I like being able to compile and run my code at any moment, and that style of writing the glue code before the real code usually means a long period where the code is unbuildable
 
People who know good design, just need to focus on the problem first sometimes
@Ixrec this is why I tend to start by prototyping, I solve some of the problem, put some of the design in, and then tweak both pieces until it seems the design and the solution fit together. Then I throw it out and start over with what I learned.
 
OMG STOP EVERYTHING! A Fresh Prince of Bel-Air reboot?
 
@ThomasOwens Say that again and I'm muting you. Blasphemy is too soft a word...
 
@JimmyHoffa yep, and since I mostly work on very frontend-y UI stuff it's common that I don't even know the requirements until I hack up half a prototype and notice which bits are missing
 
7:46 PM
@JimmyHoffa It's OK. Will Smith is making it.
 
@ThomasOwens I don't care how old he is, he better be starring in it too.
 
@JimmyHoffa Maybe he'll be the Stale King of Bel-Air now? :\
 
cameos will be likely but I doubt he'll do much more in front of the camera unless he wants to step away from film
 
Ohh...is the JVM smart enough to realize that if I have a very large DTO and I extract information (let's say a String), it will not hold a reference to the DTO and let the massive thing? Like it will copy the String field into new memory and hold that? Or should I be making new instances of things that are in a large DTO that I don't need all of?
 
@JimmyHoffa Yeah.
@JimmyHoffa I prefer a 5000 line method over a pattern fest any day. Much easier to clean up.
 
user15026
7:55 PM
@ThomasOwens Wait what? I swear, we are just remaking everything at this point.
 
though anyone should be able to break a 5000 line method into five 1000 line methods
 
I just don't want to hand onto a 15 field DTO in order to keep 5 fields persistent in memory as DTOs flow through the system.
 
it should just clean up with normal GC
Strings only hold the char array internally
 
I should profile, though. Because I'm holding onto other things - Strings, Maps, Integers.
 
Integer is the same it's only a dumb object with a single field
 
8:04 PM
I would hate to be holding onto 15 data items * my sampling rate when I don't need to. That could get...quite large.
 
Map on the other hand can be anything
String and Integer are final so the DTO can't do anything to screw you over like that
 
@JohanLarsson Smaller methods and modules that each have a distinct responsibility is much easier to maintain, provided the methods and modules have a clear purpose and are not just endless architecture ceremony.
5000 line methods are the way of PHP and CGI.
 
@JohanLarsson not necessarily... they're both a mess and a significant pain in different ways. Ideally you want neither. Goldilocks zone.
 
@RobertHarvey I did not defend it, just that I'd rather clean up that than an overarchitected mess.
Overarchitected code can be tricky to get right.
 
overarchitectured code hide what the code wants to be doing
a 5000 line function makes that (a bit) clearer
 
8:18 PM
@ratchetfreak when the cyclomatic complexity is crazy, and there's variable references from the top all throughout being treated like arbitrary memory slots for completely incohesive things throughout... When the requirements are long since gone, the procedure's got known bugs but nobody knows which parts are bugs and which parts are features (really)... When it's safety-critical you get it right and variables throughout have names like dxk and raz...
 
what I find most often when cleaning up the 5000 line functions
 
I don't know which I'd prefer, The Procedure Of The Beast, or The Flying Spaghetti System... I just know they're both horrible.
 
is that a lot of the stuff in there is duplicated code
but at least its all in one spot
I remember there was a question on SO where either the asker or an answerer was a very strict follower of the 'one thing and do it well' mantra
and would, whenever there was a try/catch, the try catch was its own function, the body of the try was another function, and the catch was yet a third
and I was like "that's dumb"
 
@whatsisname I worked somewhere that had 20 year old pascal auto-ported to delphi auto-ported to .NET where the procedures were like that and it wasn't duplicate.... if you're comparing maximums, I'm talking real stretches. The Flying Spaghetti System is pretty rarely at the level of what @RobertHarvey is looking at, and there can definitely be a Procedure Of The Beast of equal horrendity.
 
sounds rough
and im out of here
 
8:38 PM
@JimmyHoffa yeah, guess 'it depends' is the correct answer as always
patternfest can really hurt maintainability though
 
No questions here; I hate patterns, I'm always saying people need to design solutions for their problems rather than trying to figure out how to structure their problem to their pattern.
 
@JimmyHoffa it sounds like you have a very consistent pattern of hating patterns
 
I can't actually think of a time I consciously used a design pattern of some kind, all the ones I encounter at work were put in place by someone else
then again many of the famous design patterns sort of don't exist or are too trivial to call patterns in a dynamic language with function/object literals like Javascript
 
user55340
@durron597 cv-plz has limited utility for me. By day I can only be in one room. And most of the time I'm out of them anyways.
 
8:45 PM
@MichaelT I'm not expecting you to handle cv-pls, but I was hoping you might submit cv-pls and run from time to time
 
@ThomasOwens this!
I happily open up my project files in a text editor and tweak or fix them if it so pleases me or accomplishes something, or write simple quick automation tools to tie together the dev work I'm hacking at for a better feedback loop because I mastered the build discipline. I can gladly root through any windows server to diagnose and troubleshoot any of various system level, service level, application level, or network-related, permission related, whatever issues because I spent a ton of time doing environment management and troubleshooting.
adjacent disciplines help me work across a much wider swath of tasks fluidly so they don't get in my way where I've seen colleagues get blocked up and lose a week to fiddling with that sort of shit
 
I wonder if the answer to "should I specialize or generalize?" is "yes".
 
@durron597 thanks! let's see how it will work
 
In some respects, you are likely going to specialize in something. Unless you change projects, teams, or jobs frequently. But at the other hand, you can't ignore things beyond what you're currently working on and those things will change how you approach problems.
 
@JimmyHoffa this is sounding a lot like "be a full-stack developer"
 
8:51 PM
want a report? Spent a bunch of time creating SQL Server Reporting Services reports across various jobs, not a problem. Is that generalizing? No. I have depth on a variety of topics, but I'm still shallow on a ton, but the ones I have depth on are all related enough that I end up using pretty much all of them in my job to some degree or another...
@Ixrec pah. each stack is too wide for that shit, then you're just a generalist and you're going to stink at everything; go work on a tech bench and put computers together and abstract yourself from all your software concerns, because you'll suck at them anyway...
 
Although, I don't really like the term "Master".
I think "Appreciate" would be better. To me, "master" implies that you are highly skilled. If you were so highly skilled at those other things, you'd probably be a generalist.
 
@ThomasOwens yes; it's pretty crap. Really though it's good advice to practice and learn a few layers deeper in the adjacent technologies to yours
 
@JimmyHoffa It doesn't have to be technology.
 
seriously even basic familiarity can be huge, too, because you know the domain well enough to know the right questions to ask
 
true
 
8:54 PM
It could be project management, scheduling, budgeting, estimating, methods...
 
especailly for less adjacent fields like the ones @ThomasOwens just listed
 
user55340
Btw, @gnat did you see those Java videos I linked up last night?
 
@enderland How are those less adjacent? Here, a software engineering lead is responsible for estimating and tracking projects. If every engineer had some appreciation for estimating and tracking and project management, they would probably be more likely to either be more prepared for meetings with what the lead needs to execute his job or be able to innovate and improve.
 
@MichaelT yes, and that was quite interesting - thanks!
 
user41796
@ThomasOwens I'd agree, and I scored points with our scrum master today by phrasing things from his perspective.
 
user41796
8:58 PM
We have a challenge with getting things documented to where any dev can pick things up. Lots of things are discussed verbally but not written down which is a problem if you weren't there in the conversation. So I pointed out to the scrum master that I can't accurately gauge my progress when I can't identify what needs to be done.
 
@ThomasOwens "less" :P I more mean like, it's a lot easier to see how things like understanding build systems relates to software development on a daily basis... though I guess yours are pretty closely aligned
but scheduling/research allocation and project management are a greyer area for how close they are
 
I would think everyone gains a little "tracking" experience simply from using the bug tracker
 
user41796
Short answer: they're good for provoking endian wars. — GlenH7 16 secs ago
 
@JimmyHoffa you are an aphorism machine my friend.
 
estimating maybe not, though here I think everyone is involved in at least one "backlog grooming" meeting that does estimation and some other stuff
 
9:01 PM
I suppose what is adjacent or not depends on your organization.
And your role. What's adjacent to an individual contributor is different than what's adjacent to a project lead or a scrum master or a product owner.
 
yeah, I'm having a hard time thinking of anything "adjacent" other than generic stuff like time/people management, basic technical background like how JITters work, enough domain knowledge needed to understand the requirements, plus tooling like build systems and editors and terminals that you can't avoid interacting with
@GlenH7 we definitely have some of this, they keep coming up with new requirements or changes to old requirements faster than we can implement them (without causing new bugs) much less produce any high-level documentation on them, and no one really has a clue when we're going to release this thing
 
@Ixrec What's your job now? What about system, integration, or acceptance testing?
 
@ThomasOwens "software developer" I guess?
 
user41796
@Ixrec It's leading to quite a few folk refusing to work on anything where they weren't in the design discussion
 
@GlenH7 Lilliputians topic?
 
user41796
9:06 PM
I caused a bit of a storm today because I pointed out that I couldn't work on my assignment as the information I needed wasn't there.
 
@ThomasOwens I have spent a lot of time thinking about various forms of testing (and which ones would actually help the code rather than just let me brag about arbitrary metrics), though it's been an uphill battle because the codebase I work on is almost all UI manipulation
 
user41796
@gnat I couldn't resist that comment
 
@GlenH7 You let that stop you?
 
user41796
@ThomasOwens Yep
 
user41796
9:06 PM
Because I had been getting some grief about not working on whatever projects
 
You should have documented your assumptions (and the crazier and less likely, the better) and then worked to those.
 
user41796
And we're still clinging to the idea that any dev can work anywhere in our monstrous code base
 
@GlenH7 interesting, for us this never causes a "storm", I just tell someone slightly higher than me that I have no idea what to do for this one ticket, and they either clarify it for me or kick it into the backlog until it can be hammered down
 
user41796
@ThomasOwens This was bad enough that I couldn't even come up with assumptions like that. And my boss would have rightfully given me an earful for doing something like that. We simply don't have slack in the schedule for shenanigans like that
 
@GlenH7 Oh, I'm sorry/
 
9:07 PM
@GlenH7 do you guys run any sort of agile-like processes?
 
user41796
@enderland It's called agile, yes
 
there are always parts of the product where assuming anything is automatically crazy, no matter how sane the assumption
 
user41796
@Ixrec That was the problem - scrum master and BA couldn't tell me what needed to be done. Previous dev working on this couldn't tell me the overall picture and what was left. Or even how his work fit into the bigger picture
 
@GlenH7 I've never actually done that before. But when I'm given a vague task and don't get response, I usually get one by proposing an idea based on the wildest assumptions. People like to correct other people.
 
@GlenH7 so theoretically someone is a gatekeeper for that and dropped the ball (or you really have a crappy agile process :P) on defining the requirements before it got to you...
 
user41796
9:09 PM
@ThomasOwens Oh, I've done it to when I'm working directly with the internal client. But in this case, I'm a layer or two away from the internal client
 
user41796
@enderland both the former and the latter there...
 
@ThomasOwens often the people creating the vague requirements don't even realize they're impossibly underspecified despite caring deeply about the exact behavior, so just asking "Do you want it to do X, Y, Z or Foo, Bar, Qux?" usually works wonders
 
user41796
Well, it's not quite "a crappy agile process" but it definitely isn't where it should be
 
I can't imagine saying that to someone
 
9:11 PM
I wouldn't say I "propose" X, Y, Z, more like "these are the things your statement could have meant, which of them did you actually mean?"
 
@Ixrec I had a previous BA type who didn't realize how completely unclear his requests were and it drove him nuts when I would basically say, "this isn't defined enough to start on"
 
> "Work on job code 12345. No, I don't know what you need to do, just get it done"
That would never come out of my mouth.
 
@durron597 the only time this makes sense is if 12345 is a known bug, and nobody has a clue what the solution to the bug is, but everyone agrees it's a bug
 
@Ixrec I wouldn't consider that not knowing "what you need to do", I would consider that not knowing "how you need to do it"
 
oh god the overlapping repings
chat does not handle edits of mentions that well
 
9:14 PM
@Ixrec sorry
 
user41796
@Ixrec Why, what do you mean? :-D
 
user41796
I'll stop now
 
@GlenH7 someone is cheeky today
 
you almost had a metronome going there
 
user41796
@durron597 sometimes those are equivalent statements though
 
9:15 PM
if the code is truly pristine and self-evident, they often are the same thing
 
user41796
@durron597 yeah, I lobbed a large grenade into the middle of our process and it exploded spectacularly well
 
I don't consider "make client X happy" a what
 
semantics
 
if I am a BA and I can't tell my dev what they need to do "implement X feature", "fix Y bug"; then I need to talk to the client, not the dev.
 
user55340
Almost gave a manager a heart struck today. Asked "what happens if someone sends 'remove me from this mailing list' as part of the notification process?" Fortunately that was accounted for.
 
user41796
9:17 PM
@durron597 I'd call that a nonfunctional requirement. :-)
 
@GlenH7 I would be interested to know more about what they tried to tell you to do but that they weren't able to actually tell you what to do
 
psr
@JimmyHoffa I think you lifted that passage from the intro to the ANSI standard for MUMPS.
 
@GlenH7 was it something like "make client X happy" without telling you their needs, or was it something like "implement Y feature, but I'm not going to tell you how it's supposed to work" or was it something like "implement Y feature, but we're not going to give you the resources you need to do so"
 
@durron597 I wonder if someone has tried to measure BA effectiveness based on background - ie which percentage have ever been on the other side, vs which percentage were purely BA types
 
@enderland Before I got my current job I optimized my resume to focus on BA relevant skills, but then every opening I looked at wanted 3+ years BA experience
I think if I tried to transition into BA I would have to take a major pay cut.
 
9:21 PM
there was actually an odd thing today where I realized part of our current behavior (on a not-yet-released subfeature) made no sense, so I ran around asking people why it was made that way, and it turned out the behavior was a complete accident that no one had ever consciously decided, so I took the liberty of making up a much saner behavior and implementing it instead
 
@durron597 which is so frustrating, since someone with dev experience in theory should be much better at being a BA
 
I'm not sure if that counts as project management or any of the other vaguely positive phrases used above, but it felt productive at any rate
 
@enderland I also spent a year as a teacher before this job
I have a lot of both teaching experience and software dev experience. I would make a great BA.
when I was 18/19 I taught QBasic to 8-13 year olds as my summer job at one of those "smart kid" camps
 
user41796
@durron597 closest to the very last example
 
user41796
The first example of "make client X happy" would have gotten a metaphorical explosion out of me if that was the primary description
 
9:25 PM
@GlenH7 we occasionally get tickets like this
for a while we even had a Jira label "vague" to categorize them
 
user41796
> Rejected: Already working as designed.
 
I, the BA, am going to give you, the dev, the task of calling Client X and figure out why they are frothing at the mouth.
 
thankfully biz has gotten a lot better about that, the closest thing we've gotten in recent memory was a "here's a video we recorded of us trying to do something, a lot of bugs got in the way, please work out wtf was going on" so I basically spent a few hours trying to nail down which bits are working as designed, which are easily reproducible bugs I can create actionable tickets for and which are total mysteries
and then today I fixed half of those bugs =D
 
@durron597 I wonder if people realize how much time a bad BA can waste (or frustration they can cause)
 
@Ixrec They literally made a youtube video of themselves using your software, and that was the user story?
 
9:32 PM
because honestly, I would think a good BA is worth a lot of money to a company
 
@durron597 it was a very long .gif placed in a folder in our shared corporate network drive, but yes
 
@enderland No BA is better than a bad BA.
 
right
 
hey at least you had some way to see what happened, rather than just a "didn't work, plz fix"
 
9:34 PM
:23416499 tbh the only wat was that the .gif was embedded inside a single-slide powerpoint presentation for no apparent reason
as enderland just said, the gif very clearly showed a variety of legit issues and wasn't too hard to process
the only reason it took me an hour or so was because there were so many issues that came up in it
for some reason I'm very curious whether it was durron or someone else who starred that
 
at least now I know how to make Powerpoint play the stupid gif
have I confused myself, or did we move the main site question feed over to the cv please room?
 
newest question was 49 min ago
 
9:50 PM
@Ixrec Of course it was me.
@Ixrec The feeds are in both rooms.
 
10:05 PM
@MichaelT This guy's question...
0
Q: how to automate frequent checks other than creating types?

AbeHow could a programming language (or user code) automate frequent checks that otherwise would produce too many classes if implemented as types and also too many drawbacks to be useful at all? Question is really tough, excuse me for my lack or proper terminology, but what i'm asking is here is wh...

Isn't this just ordinary input validation?
 
user114359
I have no idea what that question is about. It could be one of several things. Hence my "unclear" CV
 
user114359
It could be input validation, it could be having range-checked variables. Not sure.
 
user55340
@RobertHarvey unclear will be my vote in 2h.
 
user55340
10:21 PM
I think the Java way would be annotation and instrumentation.
 
@MichaelT ugh i need stuff to spend my CVs on
 
user55340
However, if he's trying to do fancier things in Java, that gets into other realms of complexity.
 
user55340
And if he's trying to do that at runtime, it gets even more odd.
 
@psr ...and that's standard. It's official, the word standard no longer means anything at all; it's synonymous with the word arbitrary.
 
user55340
10:33 PM
Hmm. First time writing synchronized in to be production code. Will need to ask manager for permission to post on code review.
 
or ask for forgiveness :)
 
user15026
10:48 PM
Error 651 in Windows will be the death of me, I am sure of it.
 

« first day (1805 days earlier)      last day (3162 days later) »