question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Improve Concept Exercise: Functions (Lasagna Master)

See original GitHub issue

Getting started

Here you can read about what Concept Exercises are and how they are structured:

If you have not done so yet, it is probably also helpful to do a couple of “Learning Exercises” (this is how they are called on the site) yourself.

Goal

The goal of this issue is to improve the existing concept exercise Lasagna Master that teaches the functions concept.

The exercise is already in good shape but to save some time before V3 launch, the about.md is very limited at the moment and some other bits and pieces are missing. Here a more detailed list of what could be improved.

Exercise Improvements

  • There is currently no task related to function expressions. It would be nice to have one but it should not go to far into the territory of e.g. the callbacks concept.

About.md Additions

The about.md file is currently mostly a copy of introduction.md with some minor additions. Here some ideas what could be added.

  • The arguments array and its pitfalls
  • How to mitigate pass by reference issues (how to avoid modifying the input by mistake), e.g. copy object
  • Maybe some more details on when to use function expressions
  • Explain that function declarations are hoisted and function expressions are not
  • Add a reference to the recursion concept
  • The scope section should link to a variable concept that explains variable shadowing
  • IIFE
  • https://github.com/exercism/javascript/pull/1183/files#r684702295

Possibly we could also include some more general recommendations regarding functions.

Collect Ideas for Analyzer Comments

If you feel like thinking about analyzer feedback but don’t feel confident to build it directly, you can collect ideas for the analyzer in the design.md file. Just add a ## Analyzer section. You can see an example here.

Help

You can choose to do this solo-style, or collaborate with multiple people on this. The suggested approach is to

  1. First accept this issue by saying “I’d like to work on this” (no need to wait for a response, just go with it) and optionally request that someone works with you (and wait for a second person to accept your request).
  2. Use this issue to discuss any questions you have, what should be included in the content and what not and to collect reference material.
  3. Create a PR and set “exercism/javascript” as reviewers. Additionally you can write in #maintaining-javascript that your PR is ready for review. Once you incorporated any critical feedback that the reviewer might give you and the PR is approved, it will be merged by a maintainer.

Credit

This contribution grants you an author slot for the functions concept. Add your username to the authors key in the config file.

If you also improve the exercise you can add yourself as a contributor there (or as an author in case of substantial changes).

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:6 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
Aung1998commented, Feb 11, 2022

I’d like to work on this! I want to add a few recommendations for good function names and a few examples of bad function names and good function names.

0reactions
junedevcommented, Feb 11, 2022

@Aung1998 👍 Sounds good. Please keep it concise and try to focus on guidelines that are kind of consensus in the community.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Lasagna Master | Exercism's Docs
Code practice and mentorship for everyone. Develop fluency in 61 programming languages with our unique blend of learning, practice and mentoring. Exercism is ......
Read more >
Lasagna Recipes | Epicurious.com
Master some basic techniques, and this impressive casserole will become an especially versatile favorite for family-style dining and entertaining. While the ...
Read more >
Easy Lasagna - Virginia Cooperative Extension
Easy Lasagna. Ingredients: ... It can help you buy nutritious foods for a better diet. To find out more, contact your county or...
Read more >
"Guido's Gorgeous Lasagna" (spoiler warning) - Python Help
The task titled “Guido's Gorgeous Lasagna” involves defining the expected bake time for a lasagna in minutes, calculating the remaining bake ...
Read more >
The Complete Guide To Making Lasagna At Home
We recruited three top-tier lasagneurs in NYC to develop a fool-proof game plan for making this Italian classic.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found