![Code Complete: Explicit and Implicit Function Parameters main picture](https://cdn2.hexlet.io/assets/blog_promo-1dd16bc28d9a4aed4b07019a7934d27c258d6cf8ca53f803634fc38d1d406c57.png)
In dynamic languages, there are two main approaches when choosing the input parameters for functions: the first is to use explicit, positional arguments, and the second is to pass a structure containing everything that the function expects. In real code, passing arguments implicitly and explicitly are equally common, and it’s not always clear which one should be chosen for a given function. That's what we're going to look at today.
![User avatar Kirill Mokevnin](https://cdn2.hexlet.io/assets/illustrations/you-light-ce785569d4673aaeb609af3211719cf63f4a232c5bb32587f0c9d9ed03f4ab3d.png)