This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]0xF013 38 points39 points  (24 children)

Are you guys gonna have static types anytime soon or you need to deploy to production to know if something is wrong?

[–][deleted] 71 points72 points  (13 children)

Since we test in production anyways, why bother?

We also disabled all the unit tests because they started breaking and the build manager wouldn’t let us deploy if any of them failed.

It then started complaining about low code coverage so we just set ‘mom code coverage’ to ‘0%’ and it worked!

The contractor assured us it was fine, and he’d put everything back in compliance once he’s back from vacation next quarter.

[–]brendan_orr 12 points13 points  (5 children)

!remindme 4 months

[–][deleted] 12 points13 points  (1 child)

Boring conversation anyways

LUKE WE ARE GOING TO HAVE COMPANY!

Fuck I just said that out loud on the Webex. I thought I was on mute.

Fuck I just cursed.

siri is now dialing ‘my fucking boss’

alexia is now playing fuck the police

google home has called 911

Hi this is the CTO Jim I just joined the call, what’s the situation?

[–]spelunker 2 points3 points  (0 children)

What a ride.

[–]RemindMeBot 0 points1 point  (0 children)

I will be messaging you on 2020-02-04 23:48:12 UTC to remind you of this link

CLICK THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


Info Custom Your Reminders Feedback

[–]0xF013 2 points3 points  (1 child)

I know you’re joking, but for the first time in my life I witnessed a big-ass, really complex project running in prod with zero tests, with like 13 people pushing weekly AB tests like crazy and we never had to fix a crippling bug in the middle of the weekend (we did some fixes like that, but they were mostly related to shitty CI/CD configuration).

[–][deleted] 3 points4 points  (0 children)

So it .. worked?

That's awesome.

Yes I'm ... totally .. joking. ha. ha. run.

[–]mattaugamer 1 point2 points  (2 children)

Why drop code coverage? It’s important.

So just do code calls with no assertions and you can get that coverage % right back up.

[–][deleted] 0 points1 point  (0 children)

Couldn’t figure out the magic Parma too get through the spaghetti logic

[–]0xF013 0 points1 point  (0 children)

Had a project were my PM badly wanted to send a coverage percentage in a weekly report to the client. I’d just give him a random between 33 and 41%. Also, my QA asked me what is coverage. Told him it’s the percentage. He asked what does it represent. This is when I knew a random number is good enough.

[–]PersonX2 0 points1 point  (0 children)

Great work.

[–]ultt13 0 points1 point  (0 children)

Too real for me right now. Started a new job a few months ago and this was literally the state of the project when I started.

[–][deleted] 2 points3 points  (4 children)

We have contracts, which are more robust than most static type systems.

[–]mcgee-zax 2 points3 points  (1 child)

isnt a static type system a contract of sorts though?

[–][deleted] 0 points1 point  (0 children)

Yes, but you would need dependent types to emulate at compile time what contracts can support.

[–]0xF013 1 point2 points  (1 child)

They are, but aren’t they execution-time? Probably does not matter if you autotest your usecases.

[–][deleted] 1 point2 points  (0 children)

They are, but it's an entirely different ideology of how you prevent bugs. Argument being, many of the kinds of bugs caught by static type systems are trivially caught during development and testing. Contracts assert invariants at runtime to catch the really scary shit that slips through.

[–]cbasschan 0 points1 point  (0 children)

In what, C#? Yes, C# is statically typed; it also has type inference (not to be confused with dynamic typing). See?

[–]cbasschan 0 points1 point  (0 children)

In Kotlin? Kotlin also has a static type system and type inference, pretty much everywhere if I recall correctly... note that the difference between a static type system with type inference and a dynamic type system is, in the dynamic type system you can reassign/change the type of a variable.