Add daily emails and archive
This commit is contained in:
parent
7ec664a810
commit
e2b6832598
379 changed files with 11132 additions and 0 deletions
19
source/_daily_emails/2022-12-21.md
Normal file
19
source/_daily_emails/2022-12-21.md
Normal 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue