The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,835 other subscribers

Archive for the ‘Code Quality’ Category

microsoft/pyright: Static Type Checker for Python

Posted by jpluimers on 2026/07/07

I will likely need this one day: [Wayback/Archive] microsoft/pyright: Static Type Checker for Python

Via:

  1. [Wayback/Archive] Julia Evans on Twitter: “I wish there was something like pyright for Javascript — I love how pyright will tell me about type errors even if I don’t add *any* type annotations in my code at all github.com/microsoft/pyright (I assume you can’t make pyright-for-JS because Typescript is a different language)”
  2. [Wayback/Archive] Julia Evans on Twitter: “Also I think the reason pyright works so well even if I don’t add type annotations is that a lot of the Python library code I’m depending on actually does have type annotations, so it can use those”

--jeroen

Posted in Agile, Code Quality, Development, Python, Scripting, Software Development | Leave a Comment »

KotlinConf’23 video streams (including the keynote by Kevlin Henney which is generic to any programming language or concept)

Posted by jpluimers on 2026/05/26

Some of the video URLs of #kotlinconf23 most via [Wayback/Archive] KotlinConf’23 – YouTube:

Read the rest of this entry »

Posted in ChatGPT, Code Quality, Conference Topics, Conferences, Development, Event, Java Platform, Kotlin, Pingback, Software Development, Stackoverflow, Technical Debt, Testing | Leave a Comment »

Having some Technical Debt is OK as long as you keep paying the debt: Refactoring Is Not Just Clickbait – Kevlin Henney – NDC Oslo 2022 – YouTube

Posted by jpluimers on 2025/10/28

[Wayback/Archive] Refactoring Is Not Just Clickbait – Kevlin Henney – NDC Oslo 2022 – YouTube

Via:

–jeroen

Read the rest of this entry »

Posted in Agile, Code Quality, Conference Topics, Conferences, Development, Event, Refactoring, Software Development, Technical Debt | Leave a Comment »

Critical Program Reading (1975) – 16mm Film – YouTube

Posted by jpluimers on 2025/08/28

Code quality courses have been an ancient art: this video turned 50 this year (:

[Wayback/Archive] Critical Program Reading (1975) – 16mm Film – YouTube

Via: [Wayback/Archive] Mac 💉💉🦠 on Twitter: “Critical Program Reading, a 16mm film from 1975 dug up by @TechConnectify about Structured Programming techniques … “Code unto others as you would have others code unto you.” (cc @KevlinHenney)” / Twitter

Read the rest of this entry »

Posted in Agile, Code Quality, Development, Software Development | Leave a Comment »

Comment Only What the Code Cannot Say | by Kevlin Henney | Medium

Posted by jpluimers on 2025/08/13

Often after having taught a topic for decades, somebody rephrases it in a beautiful concise way:

[Wayback Comment Only What the Code Cannot Say | by Kevlin Henney | Medium

Kevlin has the same two quotes I have included teaching software quality for a long time:

In The Elements of Programming Style, Kernighan and Plauger note that
A comment is of zero (or negative) value if it is wrong.
Instead of writing apologies and apologia, follow Kernighan and Plauger’s advice from the 1970s:
Don’t comment bad code — rewrite it.

Read the rest of this entry »

Posted in Agile, Code Quality, Code Review, Development, Software Development | Leave a Comment »

Naming things isn’t hard: if it contains a number, include the unit in the name (your timeout might not be in nanoseconds)

Posted by jpluimers on 2025/05/27

This case, it was C# accessing a SQL back-end, but the responses to the Tweet how so many more examples not even related to software development.

Remember that plane crashing because they overloaded while they thought the fuel load numbers were in Imperial pounds where in fact they were in metric kilograms?

That’s why naming things that contain numbers should contain the unit in their name!

Related blog post: Watch “Felienne Hermans: How patterns in variable names can make code easier to read” on YouTube

Tweet: [Wayback/Archive] Nick Craver on Twitter: “Troubleshooting a hanging test suite and godDAMMIT. “In seconds”. Integer timeouts should be a felony offense punishable by an indeterminate amount of seconds/milliseconds/hours/fortnights/whatever the judge chooses.”

var csb = new SqlConnectionStringBuilder(TestConfig.Current. SQLServerConnectionString){ ConnectTimeout = 2000 }; int SqlConnectionStringBuilder.ConnectTimeout { get; set; } Gets or sets the length of time (in seconds) to wait for a connection to the server before terminating the attempt and generating an error. Returns: The value of the SqlConnectionStringBuilder, ConnectTimeout property, or 15 seconds if no value has been supplied.

var csb = new SqlConnectionStringBuilder(TestConfig.Current. SQLServerConnectionString) { ConnectTimeout = 2000 }; int SqlConnectionStringBuilder.ConnectTimeout { get; set; } Gets or sets the length of time (in seconds) to wait for a connection to the server before terminating the attempt and generating an error. Returns: The value of the SqlConnectionStringBuilder, ConnectTimeout property, or 15 seconds if no value has been supplied.

Read the rest of this entry »

Posted in .NET, Agile, C#, Code Quality, Conference Topics, Conferences, Database Development, Development, Event, Software Development, SQL, SQL Server, Systems Architecture | Leave a Comment »

Watch “Felienne Hermans: How patterns in variable names can make code easier to read” on YouTube

Posted by jpluimers on 2024/05/21

A while ago, various sources pointed me to the great video below by [Wayback/Archive] Felienne Hermans: How patterns in variable names can make code easier to read – YouTube.

I responded to the first Tweet with a series of tweets describing my two pet-peeves that I see going wrong when teaching new programmers how to name things (the examples are in Delphi, but I have seen similar shortcuts being taken in C#, VB.NET, and JavaScript being taught in both courses and conference sessions).

The two pet-peeves are:

  • avoid abbreviations as those are context sensitive; given software development already mixes technical context (it’s software development!) and domain/semantic context it makes it extra hard to decipher abbreviations
  • if you want/need to mix technology and semantics in names (most often you do), start with the most meaningful semantics and end with the least meaningful technology
    • if you don’t need technology in your names, at least put the most meaningful semantics and end with the least meaningful technology

Both very well amend what Felienne – a university professor – states in her research backed video:

“Their results show that ‘linguistic code smells’ actually increase cognitive loads,” she said. “Your brain has to work harder to process code that has these type of code smells. So that’s not what we want.”

I saved the [Wayback/Archive] tweets in the [Wayback/Archive] ThreadReader as this text (slightly edited for formatting):

Read the rest of this entry »

Posted in Agile, Code Quality, Conference Topics, Conferences, Development, Event, Software Development, Systems Architecture | Leave a Comment »

Avoid a software rewrite: it usually brings more trouble and puts you at a distance to competitors

Posted by jpluimers on 2023/11/22

[Wayback/Archive] lisacrispin on Twitter: “👇 This. If you want a new architecture, use the strangler fig pattern, and as he says in the thread, do it in prod. If you spend all your time rewriting, and your competitors spend that time adding new features for customers, your product will be in trouble.” / Twitter pointed me to the below thread.

The urge of rewrite often comes from a feeling of too much technical debt to carry. Preventing that technical debt in the first place would make this feeling go away in the first place so please strive for bringing down and limiting technical debt in the first place.

More about the above tweet further on in this blog post, but now back to the “rewrite everything” pit many fall into.

I saved the whole thread in [Wayback/Archive] Thread by @andrestaltz on Thread Reader App – Thread Reader App of which this are a few highlights:

Read the rest of this entry »

Posted in Agile, Code Quality, Design Patterns, Development, Software Development, Systems Architecture, Technical Debt | Leave a Comment »

Maarten van Smeden on Twitter: “Peer review proces explained (video)”

Posted by jpluimers on 2023/09/26

[Wayback/Archive] Maarten van Smeden on Twitter: “Peer review proces explained …” / Twitter

–jeroen

Posted in Agile, Code Quality, Code Review, Development, Power User, Software Development | Leave a Comment »

XPath based bookmarklets for Archive.is: more JavaScript fiddling!

Posted by jpluimers on 2023/09/20

As I promised a few months back in Bookmarklets for Archive.is and the WayBack Machine to go to the original page, moar JavaScript fiddling, this time with XPath based bookmarklets to navigate from Archive.is pages to Saved From, Redirected from, Via and Original pages.

An alternative would be using XPath as the additional fields are always structured in a table like the html below (taking complex pages like https://archive.ph/5iVVH and https://archive.ph/2015.11.14-044109/http://www.example.org/ as an example).

I got triggered to using XPath from this answer from [Wayback/Archive] gdyrrahitis at [Wayback/Archive] Javascript .querySelector find by innerTEXT – Stack Overflow (thanks [Wayback/Archive] passwd for asking):

Read the rest of this entry »

Posted in Agile, Bookmarklet, Code Quality, Code Review, Development, HTML, JavaScript/ECMAScript, Power User, Scripting, Software Development, Web Browsers, Web Development, XML/XSD, XPath | Leave a Comment »