User talk:Chunes: Difference between revisions
Line 23: | Line 23: | ||
:I've seen this "giving" phrasing in the noodle as well, and I think it's a fairly elegant solution. |
:I've seen this "giving" phrasing in the noodle as well, and I think it's a fairly elegant solution. |
||
:Another (weird) way you could go with it is just embrace mutating a single argument. |
:Another (weird?) way you could go with it is just embrace mutating a single argument. |
||
:<lang plainenglish>To factorialize a number: |
:<lang plainenglish>To factorialize a number: |
||
If the number is 0, bump the number. |
If the number is 0, bump the number. |
Revision as of 16:38, 25 September 2020
"Code review" for Plain English
Hello Chunes, would you please take a look at my implementation of factorial? I'm not quite happy with it, and I hope could suggest some improvements. For example, I don't like the phrase To put a number's factorial into another number
, but don't know how else to make it work. Same with Put the number's factorial into the number
, which seems quite an unnatural thing to say in plain English. I would like to keep the recursive approach however, just make it more "idiomatic" if there's such thing as idiomatic Plain English. Thanks for help! --Dick de Bill (talk) 14:48, 25 September 2020 (UTC)
- I've been struggling a bit myself with naming routines. I think I would go one of two ways with this. The first is
- <lang plainenglish>A factorial is a number.
To compute a factorial of a number: ...
\Calling the routine Compute a factorial of 5. Write "" then the factorial on the console.</lang>
- Declaring type aliases to make routines sound more natural is commonplace in the noodle, so I think it's idiomatic. The downside here is the indefinite article
a
sounds a bit off. You could also usesome
, but it still sounds strange, like there could be more than one result.
- The second is
- <lang plainenglish>To compute the factorial of a number giving another number:
...
\Calling the routine Compute the factorial of 5 giving a number. Write "" then the number on the console.</lang>
- I've seen this "giving" phrasing in the noodle as well, and I think it's a fairly elegant solution.
- Another (weird?) way you could go with it is just embrace mutating a single argument.
- <lang plainenglish>To factorialize a number:
If the number is 0, bump the number. If the number is 1, exit. Put the number minus 1 into another number. Factorialize the other number. Multiply the number by the other number.
\Calling the routine Put 5 into a number. Factorialize the number. Write "" then the number on the console.</lang> --Chunes (talk) 15:48, 25 September 2020 (UTC)