Garden of Learning

      • Colophon
      • Juhis
      • archipylago
      • Communities of Practice
      • Community Playbook
      • Hallway track
      • Koodiklinikka
      • Meetup
      • Principles for running good community surveys
      • Scenius
      • Simple plain text time tracker for community contributions
      • The Pac-Man Rule
      • The Snowball Rule
      • Turku ❤️ Frontend
        • 1000 Blank White Cards
        • Design resources for board games
        • How to choose a starting player
        • How to claim Pokemon Live Twitch Drops
        • MTG Bar Cube
        • MTG Battle box
        • MTG fan set of Hollow Knight
        • No More Jockeys
        • Nomic
        • Pokemon TCG
        • Pokemon TCG Pocket IRL 2 player cube
        • Scorekeeper MEGA by Rusty
        • Set of dice that cannot tie
        • Solomon Draft Style
        • TCG Companion Tray
          • Dorfromantik
          • Firewatch
          • Half-Life 2
        • Balatro mods for Steam Deck
        • Can we Improve Tutorials for Complex Games
        • Helmet Gaming Challenge
        • Inverted pyramid of decision making
        • Meta progression with gradual tutorial in roguelike games
        • Mirror's Edge on Steam Deck
        • Patch romhacks
        • Prototyping
      • Games for Distributed Teams
        • Atte's Learning list
        • Learning in public
          • Build a portfolio (talk)
          • Communities in Marketing (talk)
          • Communities, networking and developer culture (talk)
          • Community Sites with Eleventy Global Data Files (talk)
          • Comparing Version Numbers (talk)
          • Contemporary Documentation (talk)
          • Data scraping for beginners (Talk)
          • Debugging Python (talk)
          • Love letter for Django (talk)
          • The most social and loneliest job - being solo developer advocate (talk)
          • Why developers should write blog posts (talk)
        • Banquet
        • Boost Turku Dropout Academy
        • From Juhis with Love
        • ModMayor
        • My goals for 2025
        • Playtest Printer
        • Potluck
        • Syntax Error
          • Cascade planning
          • Effort-Success-Progress journaling
          • Interstitial journaling
          • Journaling
          • Record journal entries from command line with jrnl
          • WRAP review framework
        • Digital Garden
        • Digital Gardens in educational context
        • Note taking
        • Running notes
        • Taking notes
        • Thinking through notes
          • GUIs are anti-social by Michael Lynch
          • How to converse online by Manuel Moreale
          • How to set up your tech writer up for success by Fabrizio Ferri Benedetti
          • I miss human curation by Cassidy Williams
          • Introvert's guide to networking in communities by Rhian Davies and Keith Newman
          • Lab Note 019 Notifications by Alexander Obenauer
          • Lab notebooks by Sam Bleckley
          • Maker's Schedule, Manager's Schedule by Paul Graham
          • My productivity app is a never-ending txt file by Jeff Huang
          • Setting up new developers for success by Marijke Luttekes
          • The art of testing - failing gracefully by Raniz Raneland
          • The Case of Two Numpads – A Design Detective Story by Antti Mäki
          • The Stair Step Method of Bootstrapping by Rob Walling
          • Too much of a good thing - the cost of excess testing by Nicole Tietz-Sokolskaya
          • Use A Work Journal To Recover Focus Faster And Clarify Your Thoughts by Charles Féval
          • Using a work journal to create design case studies by Tanner Christensen
          • Using parameters in your eleventy includes with nunjucks macros by Thomas M Semmler
          • What Emacs got right, or how I wish modern apps were more like a 50 year old text editor by Daniel de Haas
          • What I think about when I edit by Eva Parish
          • Keep Going by Austin Kleon
          • Refactoring English by Michael Lynch
          • The Confident Mind by Dr. Nate Zinsser
          • Think Python by Allen B. Downey
          • 1001 Albums You Must Hear Before You Die
          • core.py
          • Eat This Podcast
          • Koodarikuiskaaja
          • Lateral with Tom Scott
          • LocalFirst.fm
          • Podcasts
          • Startups for the Rest of Us
          • Syntax.fm
          • The Rest is Entertainment
          • Three Rules
          • ThunderNerds
          • Fall Guy
          • My old ass
          • Uncharted (the movie)
          • 'Magic the Gathering' 20 Years, 20 Lessons Learned by Mark Rosewater
          • Creative exhaust, the power of being open by default, Brad Frost at TEDxGrandviewAve
          • Exploring the Potential of the Web Speech API in Karaoke by Ana Rodrigues at ffconf 2023
          • How I got my mom to play through Plants vs. Zombies
          • How to Write Mini Essays by Nick Milo
          • Humanizing Your Documentation by Carolyn Stransky
          • Lessons learned how to leverage your non-technical experience by Nicole Tibaldi
          • The art of storytelling for developers by Dave Kiss
          • Why do we still hate tutorials
          • Git
          • Git blame a line range
          • Git cheat sheet by Julia Evans
          • Ignore whitespace in git blame
          • List git branches by recent commits
          • Show git branches in column mode
          • Use different config files and email addresses in Git based on path
          • Auto-create folders in Obsidian by using format strings
          • Copy to Obsidian bookmarklet
          • Dashed underlines for links to missing notes in Obsidian
          • Don't strikethrough completed tasks in Obsidian
          • Obsidian
          • Prevent Obsidian assets from showing up in Android Gallery
          • Access the DOM inside an iframe with Javascript
          • Add delay to requests on input (debounce)
          • Backup and restore Postgres database
          • Better git diffs with Jupyter Notebooks
          • Burn subtitles from str file into video with ffmpeg
          • Card flip animation in CSS
          • Case insensitive autocomplete in bash in Debian
          • Change output layout for sqlite3
          • Change VS Code tabs with cmd and number
          • Clear query input in MariaDB or MySQL client
          • Combine audio and video files with ffmpeg
          • Conditional requirements with JSON Schema
          • Convert 3mf files to STL on command line
          • Convert structured data formats to each other with d2d
          • Create filtered RSS feeds with siftRSS
          • Creating an ESLint plugin
          • Deduplicate NetNewsWire feeds
          • Deploy notifications from Netlify with ntfy.sh
          • Detect minimum required Python version for a project
          • Display data as tables on command line
          • Download multiple URLs from file with yt-dlp
          • Edit folder names and filenames with vidir
          • Enable picture-in-picture mode for VeikkausTV player
          • Extract Webmention endpoint from website
          • ffmpeg by example
          • Find ghost tables in Django without associated models
          • Find text between two Markdown headings with regular expression
          • Force empty array into object in json_encode in PHP
          • Google Forms group and count responses by date
          • Hide partial line endings in zsh
          • Improved CSS for Youtube Music
          • Install ssh key to a server
          • Install yt-dlp on Raspberry Pi OS
          • Invoke Javascript debugger on delay
          • JSONPath cheat sheet
          • Keep Youtube in full screen when playing a playlist on iOS
          • Manage dotfiles with GNU Stow
          • Order of values in CSS shorthands
          • Parse Youtube playlist into JSON or Markdown
          • Partial keyword shell search with history-substring-search
          • Pesky little scripts
          • Pipe multiple outputs to one in shell
          • Prevent iTunes from opening when music keys are pressed
          • Print multiple items one-by-one in Bambu Studio
          • Print URL after links with CSS
          • Read and remove EXIF data from images
          • Reload custom Raycast extension
          • Send active file path to terminal in VS Code
          • shell commands Wrapped
          • Symbolic links require absolute path for source
          • Turn HEIC images from iPad to PNG
          • Updating multiple rows with SQL and avoiding collisions
          • Using colon command in shell
          • VS Code in browser with code-server
          • Working with hexagonal coordinate systems
        • Accessibility
        • Advent of Code
        • Bookmarklet
        • Building a digital garden with Obsidian and Quartz
        • Changelog
        • Command Line Interfaces
        • Commit messages
        • Content Management Systems
        • CSS
        • Document your secrets
        • Drag and drop on entire page
        • Heynote - A dedicated scratchpad for developers
        • iPad and Raspberry Pi setup
        • Local-first software development
        • Meta tag checker Lens
        • Painter's Algorithm
        • Pride versioning
        • Programming by Wishful Thinking
        • Python
        • RSS
        • Send mobile notifications after long-running shell commands
        • Single-file executable Python scripts with uv
        • Static Site Generators
        • Technology
        • Terminal applications on MacOS
        • 1000 True Fans
        • Action leads to motivation
        • Behavioural Interview Questions
        • Brag Document
        • Chance of serendipity
        • Chatham House Rule
        • Chesterton's Fence
        • Code abstractions
        • Creativity
        • Document your projects' evolution
        • Don't build your castle in other people's kingdom by Chris Zukowski
        • Explaining it helps you understand it
        • Four characteristics of good affirmations
        • How is this the best to happen to me?
        • How to do absolutely nothing by Barbara Kingsolver
        • Lemniscate constant
        • Lie-to-children
        • Light the torches of others
        • Missing semester (MIT)
        • More readable function calls with named arguments
        • Office productivity is a pipe dream
        • Onboarding buddy
        • Open source is reverse Good Will Hunting
        • Own your content
        • Quests, Adventures and Journeys
        • Remote work does not equal to work from home
        • Sanding UI
        • SCARF model of feedback
        • Shotgun Buffet Talk
        • Shuffle the Deck
        • Speaking in conferences
        • STAR answers
        • Storytelling
        • The Cult of Done Manifesto
        • Third places
        • Top Ten - self-confidence journaling exercise
        • Wheel Reinventor's Principles by Tobias Løfgren
        • Zine folding pattern
          • Blaugust
          • IndieWeb Carnival
          • NaNoWriMo
        • Blogging platforms
        • Documentation
        • Why developers should blog?
    Home

    ❯

    Thoughts

    ❯

    More readable function calls with named arguments

    More readable function calls with named arguments

    Dec 29, 2024 (modified: Dec 31, 2024)1 min read

    • programming

    A good way to improve the readability, documentability and the usability of your functions is to use named parameters (or in case with languages like Javascript, objects and destructuring).

    Fernando Hurtado Cardenas writes about this in Why you shouldn’t default to positional parameters and I have written about it in Make your function calls more readable.


        • Colophon
        • Juhis
        • archipylago
        • Communities of Practice
        • Community Playbook
        • Hallway track
        • Koodiklinikka
        • Meetup
        • Principles for running good community surveys
        • Scenius
        • Simple plain text time tracker for community contributions
        • The Pac-Man Rule
        • The Snowball Rule
        • Turku ❤️ Frontend
          • 1000 Blank White Cards
          • Design resources for board games
          • How to choose a starting player
          • How to claim Pokemon Live Twitch Drops
          • MTG Bar Cube
          • MTG Battle box
          • MTG fan set of Hollow Knight
          • No More Jockeys
          • Nomic
          • Pokemon TCG
          • Pokemon TCG Pocket IRL 2 player cube
          • Scorekeeper MEGA by Rusty
          • Set of dice that cannot tie
          • Solomon Draft Style
          • TCG Companion Tray
            • Dorfromantik
            • Firewatch
            • Half-Life 2
          • Balatro mods for Steam Deck
          • Can we Improve Tutorials for Complex Games
          • Helmet Gaming Challenge
          • Inverted pyramid of decision making
          • Meta progression with gradual tutorial in roguelike games
          • Mirror's Edge on Steam Deck
          • Patch romhacks
          • Prototyping
        • Games for Distributed Teams
          • Atte's Learning list
          • Learning in public
            • Build a portfolio (talk)
            • Communities in Marketing (talk)
            • Communities, networking and developer culture (talk)
            • Community Sites with Eleventy Global Data Files (talk)
            • Comparing Version Numbers (talk)
            • Contemporary Documentation (talk)
            • Data scraping for beginners (Talk)
            • Debugging Python (talk)
            • Love letter for Django (talk)
            • The most social and loneliest job - being solo developer advocate (talk)
            • Why developers should write blog posts (talk)
          • Banquet
          • Boost Turku Dropout Academy
          • From Juhis with Love
          • ModMayor
          • My goals for 2025
          • Playtest Printer
          • Potluck
          • Syntax Error
            • Cascade planning
            • Effort-Success-Progress journaling
            • Interstitial journaling
            • Journaling
            • Record journal entries from command line with jrnl
            • WRAP review framework
          • Digital Garden
          • Digital Gardens in educational context
          • Note taking
          • Running notes
          • Taking notes
          • Thinking through notes
            • GUIs are anti-social by Michael Lynch
            • How to converse online by Manuel Moreale
            • How to set up your tech writer up for success by Fabrizio Ferri Benedetti
            • I miss human curation by Cassidy Williams
            • Introvert's guide to networking in communities by Rhian Davies and Keith Newman
            • Lab Note 019 Notifications by Alexander Obenauer
            • Lab notebooks by Sam Bleckley
            • Maker's Schedule, Manager's Schedule by Paul Graham
            • My productivity app is a never-ending txt file by Jeff Huang
            • Setting up new developers for success by Marijke Luttekes
            • The art of testing - failing gracefully by Raniz Raneland
            • The Case of Two Numpads – A Design Detective Story by Antti Mäki
            • The Stair Step Method of Bootstrapping by Rob Walling
            • Too much of a good thing - the cost of excess testing by Nicole Tietz-Sokolskaya
            • Use A Work Journal To Recover Focus Faster And Clarify Your Thoughts by Charles Féval
            • Using a work journal to create design case studies by Tanner Christensen
            • Using parameters in your eleventy includes with nunjucks macros by Thomas M Semmler
            • What Emacs got right, or how I wish modern apps were more like a 50 year old text editor by Daniel de Haas
            • What I think about when I edit by Eva Parish
            • Keep Going by Austin Kleon
            • Refactoring English by Michael Lynch
            • The Confident Mind by Dr. Nate Zinsser
            • Think Python by Allen B. Downey
            • 1001 Albums You Must Hear Before You Die
            • core.py
            • Eat This Podcast
            • Koodarikuiskaaja
            • Lateral with Tom Scott
            • LocalFirst.fm
            • Podcasts
            • Startups for the Rest of Us
            • Syntax.fm
            • The Rest is Entertainment
            • Three Rules
            • ThunderNerds
            • Fall Guy
            • My old ass
            • Uncharted (the movie)
            • 'Magic the Gathering' 20 Years, 20 Lessons Learned by Mark Rosewater
            • Creative exhaust, the power of being open by default, Brad Frost at TEDxGrandviewAve
            • Exploring the Potential of the Web Speech API in Karaoke by Ana Rodrigues at ffconf 2023
            • How I got my mom to play through Plants vs. Zombies
            • How to Write Mini Essays by Nick Milo
            • Humanizing Your Documentation by Carolyn Stransky
            • Lessons learned how to leverage your non-technical experience by Nicole Tibaldi
            • The art of storytelling for developers by Dave Kiss
            • Why do we still hate tutorials
            • Git
            • Git blame a line range
            • Git cheat sheet by Julia Evans
            • Ignore whitespace in git blame
            • List git branches by recent commits
            • Show git branches in column mode
            • Use different config files and email addresses in Git based on path
            • Auto-create folders in Obsidian by using format strings
            • Copy to Obsidian bookmarklet
            • Dashed underlines for links to missing notes in Obsidian
            • Don't strikethrough completed tasks in Obsidian
            • Obsidian
            • Prevent Obsidian assets from showing up in Android Gallery
            • Access the DOM inside an iframe with Javascript
            • Add delay to requests on input (debounce)
            • Backup and restore Postgres database
            • Better git diffs with Jupyter Notebooks
            • Burn subtitles from str file into video with ffmpeg
            • Card flip animation in CSS
            • Case insensitive autocomplete in bash in Debian
            • Change output layout for sqlite3
            • Change VS Code tabs with cmd and number
            • Clear query input in MariaDB or MySQL client
            • Combine audio and video files with ffmpeg
            • Conditional requirements with JSON Schema
            • Convert 3mf files to STL on command line
            • Convert structured data formats to each other with d2d
            • Create filtered RSS feeds with siftRSS
            • Creating an ESLint plugin
            • Deduplicate NetNewsWire feeds
            • Deploy notifications from Netlify with ntfy.sh
            • Detect minimum required Python version for a project
            • Display data as tables on command line
            • Download multiple URLs from file with yt-dlp
            • Edit folder names and filenames with vidir
            • Enable picture-in-picture mode for VeikkausTV player
            • Extract Webmention endpoint from website
            • ffmpeg by example
            • Find ghost tables in Django without associated models
            • Find text between two Markdown headings with regular expression
            • Force empty array into object in json_encode in PHP
            • Google Forms group and count responses by date
            • Hide partial line endings in zsh
            • Improved CSS for Youtube Music
            • Install ssh key to a server
            • Install yt-dlp on Raspberry Pi OS
            • Invoke Javascript debugger on delay
            • JSONPath cheat sheet
            • Keep Youtube in full screen when playing a playlist on iOS
            • Manage dotfiles with GNU Stow
            • Order of values in CSS shorthands
            • Parse Youtube playlist into JSON or Markdown
            • Partial keyword shell search with history-substring-search
            • Pesky little scripts
            • Pipe multiple outputs to one in shell
            • Prevent iTunes from opening when music keys are pressed
            • Print multiple items one-by-one in Bambu Studio
            • Print URL after links with CSS
            • Read and remove EXIF data from images
            • Reload custom Raycast extension
            • Send active file path to terminal in VS Code
            • shell commands Wrapped
            • Symbolic links require absolute path for source
            • Turn HEIC images from iPad to PNG
            • Updating multiple rows with SQL and avoiding collisions
            • Using colon command in shell
            • VS Code in browser with code-server
            • Working with hexagonal coordinate systems
          • Accessibility
          • Advent of Code
          • Bookmarklet
          • Building a digital garden with Obsidian and Quartz
          • Changelog
          • Command Line Interfaces
          • Commit messages
          • Content Management Systems
          • CSS
          • Document your secrets
          • Drag and drop on entire page
          • Heynote - A dedicated scratchpad for developers
          • iPad and Raspberry Pi setup
          • Local-first software development
          • Meta tag checker Lens
          • Painter's Algorithm
          • Pride versioning
          • Programming by Wishful Thinking
          • Python
          • RSS
          • Send mobile notifications after long-running shell commands
          • Single-file executable Python scripts with uv
          • Static Site Generators
          • Technology
          • Terminal applications on MacOS
          • 1000 True Fans
          • Action leads to motivation
          • Behavioural Interview Questions
          • Brag Document
          • Chance of serendipity
          • Chatham House Rule
          • Chesterton's Fence
          • Code abstractions
          • Creativity
          • Document your projects' evolution
          • Don't build your castle in other people's kingdom by Chris Zukowski
          • Explaining it helps you understand it
          • Four characteristics of good affirmations
          • How is this the best to happen to me?
          • How to do absolutely nothing by Barbara Kingsolver
          • Lemniscate constant
          • Lie-to-children
          • Light the torches of others
          • Missing semester (MIT)
          • More readable function calls with named arguments
          • Office productivity is a pipe dream
          • Onboarding buddy
          • Open source is reverse Good Will Hunting
          • Own your content
          • Quests, Adventures and Journeys
          • Remote work does not equal to work from home
          • Sanding UI
          • SCARF model of feedback
          • Shotgun Buffet Talk
          • Shuffle the Deck
          • Speaking in conferences
          • STAR answers
          • Storytelling
          • The Cult of Done Manifesto
          • Third places
          • Top Ten - self-confidence journaling exercise
          • Wheel Reinventor's Principles by Tobias Løfgren
          • Zine folding pattern
            • Blaugust
            • IndieWeb Carnival
            • NaNoWriMo
          • Blogging platforms
          • Documentation
          • Why developers should blog?

      Recent Notes

      • Updating multiple rows with SQL and avoiding collisions

        May 01, 2025

      • Symbolic links require absolute path for source

        Apr 26, 2025

      • Scorekeeper MEGA by Rusty

        Apr 20, 2025

      • Card flip animation in CSS

        Apr 07, 2025

      Backlinks

      • No backlinks found

      Recent Notes

      • Updating multiple rows with SQL and avoiding collisions

        May 01, 2025

      • Symbolic links require absolute path for source

        Apr 26, 2025

      • Scorekeeper MEGA by Rusty

        Apr 20, 2025

      • Card flip animation in CSS

        Apr 07, 2025

      • hamatti.org
      • Mastodon