exercism / exercism/clojure-representer

Normalize commutative operations

未關閉
#40 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Clojure
星號
2
分支
7
PR 合併指標
30 天內沒有已合併 PR

描述

It never ceases to amaze me how many unique solution approaches there are even with all the normalizations we're doing. It's like ice cream flavors. 31 flavors sounds like a lot, but that can be achieved with like 5 or 6 basic flavors and their permutations.

After spending some time analyzing its results, the next "low-hanging fruit" seems to be:

Identifying which operations are commutative, and presenting them in some standard order.

At first glance it seems like we're scraping the bottom of the barrel, so to speak. But because of the way the possible permutations are composed, even the smallest thing can drastically reduce the number of unique representations, which practically translates to having fewer approaches to add feedback to to be displayed to the same number of students.

For example, a solution to the lasagna exercise might have: `(+ (num-layers 2) 5)`, and another might have `(+ 5 (num-layers 2))`. Having to repeat the same feedback on every combination becomes tedious.

## Commutative operations which can be normalized

- `=`
- `+`
- multi-arity function bodies
. . .

Again, these seem very minor, but the path to making the representer more effective lies in making these incremental improvements

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。