@jitterted@sfba.social
@jitterted@sfba.social avatar

jitterted

@jitterted@sfba.social

He/Him. Technical coach. All about Making #Java Code More Testable. #TDD #Refactoring #HexagonalArchitecture #JUnit #AssertJ

This profile is from a federated server and may be incomplete. Browse more on the original instance.

jasongorman, to random
@jasongorman@mastodon.cloud avatar

Is there any research out there that relates code usage to code change? My instinct says that code that gets used more often changes more often. I've done a couple of small-scale exercises on this with client systems (so I'm 95% confident when I tell teams "Code that gets used gets changed"), but is there a bigger body of data out there?

jitterted,
@jitterted@sfba.social avatar

@jasongorman I did some quick searching in the literature (under the topic of "mining software repositories"), but couldn't find anything specific to runtime profiling that wasn't related to performance. Perhaps @gvwilson knows who to ask for related research (if any)?

afilina, to random
@afilina@phpc.social avatar

Got tired of trying to fit a full name into the narrow constraint of first_name/last_name of an API today. Anyone whose name might resemble "Dr. Andrew C. Martin Jr." probably let out a big sigh right now. Please, just let people type their name into a single field.

jitterted,
@jitterted@sfba.social avatar

@afilina What's sad is the number of websites created by folks who clearly haven't read it.

jitterted,
@jitterted@sfba.social avatar

@afilina There should be two fields: full name (whatever y'all want in there) and a "what short name should we use when writing to you" (aka nickname). What else is needed??

searls, to random

In the context of isolated unit testing with mocks, is there an established term for a class that delegates its work to a handful of dependencies? I've used "orchestrator", "delegator", "collaborator" over the years but I don't really like any of them.

jitterted,
@jitterted@sfba.social avatar

@searls I've used "coordinator", and sometimes "orchestrator", but I haven't seen a non-ambiguous established term in use.

afilina, to random
@afilina@phpc.social avatar

Skipping test automation today is a great way to later pay for devs to spend more time cursing than getting work done.

jitterted,
@jitterted@sfba.social avatar

@afilina If only that "time devs spent later" were made more explicit and counted towards the original "time spent to get to done", we'd maybe be able to prioritize testing more easily?

jitterted,
@jitterted@sfba.social avatar

@heiglandreas @afilina Yup.

Unfortunately, unlike real financial debt that shows up in ledgers that are 100% visible to management, "technical" debt is completely hidden from (or not comprehensible to) management, and isn't entirely visible to developers.

Increasing "tech debt" mainly shows up in things taking longer/being buggier over time.

jitterted, to random
@jitterted@sfba.social avatar

Can't recommend this enough (from Cat Hicks, PhD @grimalkina ):

"Belonging isn’t just about interpersonal kindness and it isn’t just about individual optimal functioning. Perhaps is about what we owe to each other."

https://www.drcathicks.com/post/sense-of-belonging-and-software-teams

jitterted, to maui
@jitterted@sfba.social avatar

I was in Lahaina in Maui a little over a week ago and it's just heartbreaking to see the devastation from the fires. It's all gone.

My heart goes out to those who've lost their homes and their businesses.

#Maui #Lahaina

jitterted,
@jitterted@sfba.social avatar

I've donated to https://www.hawaiicommunityfoundation.org/maui-strong to support those affected by the Maui wildfires.

jitterted, to random
@jitterted@sfba.social avatar

Another lesson from recent Learning Ensembles that I facilitate: don't be afraid to inline code, you can always extract it back out—but you may end up with a better abstraction.

jitterted, to random
@jitterted@sfba.social avatar

Reminder that "setter" methods on Domain Objects break encapsulation and will make it hard to use and hard to refactor.

#OOP #SettersAreStillEvil

RuthMalan, to random
@RuthMalan@mastodon.social avatar

System Design and Software Architecture Workshop

October 4-6 and October 11-13, 2023 at 8 am - 12:30 pm Eastern Time (14:00 - 18:30 CEST)

Info/enroll: https://ti.to/bredemeyer/system-design-oct-2023

Early enrollment discount 🎉

jitterted,
@jitterted@sfba.social avatar

@RuthMalan Are there more details for the Visual Comm & Design class? Sounds really interesting!

b0rk, (edited ) to random
@b0rk@jvns.ca avatar

i'm working on a talk and here is a draft of a drawing with no context

will probably make the actual slides more constructive than this but I want to keep some of this energy

(also I'm talking about answering your coworkers' questions, not helping internet strangers who have no claim whatesoever on your time, that is a different thing, though you don't have to be a jerk to internet strangers either)

jitterted,
@jitterted@sfba.social avatar

@b0rk It (hopefully) happens less often with coworker questions, but in my community, I have to remind people (especially new folks) how to ask questions, because I see a lot of questions that simply can't be answered because there's:

  1. Not enough background/context
  2. Nothing about what was expected (what is actually wrong? Is there a stack trace?)
  3. Not enough code (please, no screenshots of code, and if you can, just point us to the source code repository)
  4. No information about what was attempted. (Optional, but helpful, so we don't suggest things you already tried)

I try hard to be empathetic, but have sometimes had to say "without [more info], I'm afraid there's not much I can suggest". And rarely, "please stop asking questions without this info."

jitterted,
@jitterted@sfba.social avatar

@b0rk For sure. The part about "what did you try?" and even "what did you expect?" start to dig into debugging ability.

Even "what did you see/observe?" can be vague for novice debuggers (debuggists?).

And definitely the relationship will define how much energy the potential-answerer will use to extract the above information. (With my coach hat on, that conversation will be different, with more questions back than answers.)

jitterted, to random
@jitterted@sfba.social avatar

Why do we look for forms of duplication (exact, similar, partial) when refactoring (especially during a #TDD cycle)?

It's so we can move the code from specific to general.

But that will only happen after you have several examples (tests) implemented. It's dangerous to prematurely generalize (YAGNI), but we want to generalize when we can.

jitterted, to random
@jitterted@sfba.social avatar

#TDD doesn't mean you can't plan ahead, jotting down/sketching out a bunch of tests that you know you need.

It does mean you go through the Red->Green->Refactor cycle with only one test at a time.

qcoding, to random
@qcoding@iosdev.space avatar

Words I hear when working with software crafters: "a bunch of if statements is gross"

jitterted,
@jitterted@sfba.social avatar

@tottinge @IronHam @qcoding
It seems like many people use "simplicity" to mean "what I'm familiar with".

jitterted, to random
@jitterted@sfba.social avatar

Quick summary of Cognitive Load from the Learning Scientists: https://www.learningscientists.org/blog/2023/7/6

Pay attention to the "element interactivity" part of cognitive load. We're not good at keeping track of and paying attention to too many things at the same time.

This is where learning your editor's shortcut keys and practicing them until they're automatic (don't require thought) can help: you can keep your (scarce) attention on the higher-level problem/solution and not on "where is that Extract Method option?"

jitterted,
@jitterted@sfba.social avatar

@mkilby The Learning Scientists site (https://www.learningscientists.org/) is one of my favorite sources of information about the science of learning.

jitterted, to random
@jitterted@sfba.social avatar

Use #JUnit? Are your tests easy to read and write? Join me to see how the #AssertJ assertion library can help.

Free 90-min session Tuesday, July 18, 9AM PT/16:00 UTC. Register for the Zoom: https://lu.ma/fk8mwe89.

Or, bookmark the YouTube livestream: https://youtube.com/live/nfUjKsb9l2k?feature=share

jitterted, to random
@jitterted@sfba.social avatar

Dive deep into #AssertJ in my 90min talk: Tuesday, July 18, 9am PDT/16:00 UTC.

"AssertJ: Hidden Gem of JUnit Testing"

Join the Zoom, or watch live on YouTube: your choice!

Register for the Zoom: https://lu.ma/fk8mwe89

Bookmark the YouTube livestream: https://youtube.com/live/nfUjKsb9l2k?feature=share

jitterted, to random
@jitterted@sfba.social avatar

Another interesting thing that happened when digging into #AssertJ for my talk is that I now have 3 issues to file, along with planned PRs for each of them.

I also have a renewed motivation to write more domain-specific custom asserts: they really make reading tests so much easier.

jitterted,
@jitterted@sfba.social avatar
jitterted,
@jitterted@sfba.social avatar

@kenkousen Sorry you can't make it. Feel free to ask any questions up-front and I'll try and get to them.

Nice thing about streaming to YouTube is that it'll be there when it's over! But I'll also post a link to it when it's done.

jitterted,
@jitterted@sfba.social avatar

@kenkousen You ain't kidding. (And I warn about that at the beginning!)

gazebo_c, to medical German
@gazebo_c@chaos.social avatar

Where to start AND How to keep going?

That's a common question I get when people want to or try out .

Here are my 3 top tips:

✍️ write down YOUR current 'why to journal'.
☯️ Do pause and reflect regularly.
❤️ Celebrate your steps along the way.

Make this a habit!

Read on: https://businessjournaling.substack.com/p/where-to-start-and-how-to-keep-going

jitterted,
@jitterted@sfba.social avatar

@kenkousen I’ve started setting aside time to explore and experiment with it, but also started using the journal almost every day. Intrigued by writing my own plugins.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • ngwrru68w68
  • everett
  • InstantRegret
  • magazineikmin
  • thenastyranch
  • rosin
  • GTA5RPClips
  • Durango
  • Youngstown
  • slotface
  • khanakhh
  • kavyap
  • DreamBathrooms
  • megavids
  • cubers
  • ethstaker
  • osvaldo12
  • modclub
  • cisconetworking
  • mdbf
  • tester
  • tacticalgear
  • Leos
  • normalnudes
  • provamag3
  • anitta
  • lostlight
  • All magazines