New rule: `Shared else-value for if/case`
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Ambito
- tooling
Direzione di ricerca
Inizia individuando le implementazioni esistenti delle regole di refactoring e la relativa suite di test; l’issue fornisce un caso di test positivo in Racket e indica renderer.rkt nel repository webracket come punto di osservazione. Il lavoro è completo quando la forma if/case mostrata viene trasformata nella forma case, mentre il codice non correlato rimane invariato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Rule summary
From:
(if (symbol? level)
(case level
[(warning) 'warning]
[(danger) 'danger]
[(info success warning danger
primary secondary light dark) level]
[else 'info])
'info)
To:
(case level
[(warning) 'warning]
[(danger) 'danger]
[(info success warning danger
primary secondary light dark) level]
[else 'info])
The observation is that the value return by the else-arm of the if-expression,
is the same as the expression returned in the else-expression of the case.
Test case
#lang resyntax/test
test: "original code should be refactorable to new code"
--------------------
#lang racket
(define level 'foo)
(if (symbol? level)
(case level
[(warning) 'warning]
[else 'info])
'info)
====================
#lang racket
(define level 'foo)
(case level
[(warning) 'warning]
[else 'info])
--------------------
No-change test case
Additional context
Spotted here:
https://github.com/soegaard/webracket/blob/main/lib/web-easy/renderer.rkt#L892
- Lingua principale
- Racket
- Stelle
- 70
- Fork
- 11
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di jackfirth/resyntax
-
Grimoire docs need examples Apertadocumentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
documentation
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
-
testing
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
-
testing
Difficoltà 3/5 1-2 giorni Idoneità per principianti 75/100
-
testing
Difficoltà 4/5 3-5 giorni Idoneità per principianti 68/100
Tutte le issue di jackfirth/resyntax
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
vercel-labs/just-bash#464 ·
-
Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Automattic/safe-publish#594 ·
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
bug feat:crypto feat:utils
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100