Add daily emails and archive

This commit is contained in:
Oliver Davies 2024-01-03 20:00:00 +00:00
parent 7ec664a810
commit e2b6832598
379 changed files with 11132 additions and 0 deletions

View file

@ -0,0 +1,19 @@
---
title: >
Duck typing
pubDate: 2022-12-21
permalink: >-
archive/2022/12/21/duck-typing
---
If it looks like a duck, walks like a duck, and quacks like a duck, it must be a duck.
If I pass a parameter into a function, as long as it works with the code within the function - it is of the correct type and has the expected properties and methods - it will work, although nothing is enforcing that the correct thing is passed in.
If not, you'd get an error that the method or property doesn't exist when trying to invoke or access it.
This is the opposite of strict typing, where you'd get a Type error if you passed the wrong thing.
Both are valid approaches, though I prefer to use types and get specific error messages and leverage tools like static analysis, which work better the more it understands your code.
In particular when writing and using open-source code that anyone can use however they like, I'd suggest leveraging types and type-checking, but it depends on what you, your team or your community prefer.