Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

3
  • Do you have a specific use case in mind, or is your question more general? You could make a case for all these options depending on your context. Commented Aug 3, 2021 at 14:22
  • Your examples are confusing because they do not perform the same logic. Neither of them seems better than doing it all inline because the iteration is one easy to grasp thing that is now broken up, not making things easier on the mind. Commented Aug 3, 2021 at 18:34
  • Apply design principles strategically. If the typical usage within your application is to process collection of items, or if it is advantageous to keep everything in lists for some reason, or you have a specialized traversal logic, but want to pass in a lambda for the actual processing, go with (1). If not, and if there are a lot of cases where you process an isolated object, go with (3). Option (2) is doesn't really buy you anything, unless you need that index for something within the body of the function. Commented Aug 3, 2021 at 19:49