Add cars-assemble concept exercise#1035
Conversation
Unlocks if-control-structures and comparison-operators after booleans and numbers, ported from csharp/cars-assemble. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Thanks a lot for your work! New to the PHP track and head first into concept exercise writing. Do you have experience with Exercism approach to concepts, concept exercises and the didact concept behind all this code and files? I tried to get my head around this PR, but I run out of time for today. I hope to find time for the review this weekend. |
|
@mk-mxp Thanks! Take your time with the review, no rush. I’m used to seeing PHP and how it works, because I work with it daily in WordPress. Writing it from scratch has always been harder for me. I’ve been more of an “understand, copy and paste” person. That’s why I’m going through this track myself. Along the way, I thought it could be a good idea to help improve it while I review and reinforce concepts. What’s new for me is Exercism’s approach to concepts, concept exercises, and the docs/meta structure around them. How I built this PR: I used the C# cars-assemble as a close reference (especially the story/instructions), rewrote the PHP docs, and used another existing PHP track exercise as a reference for PHPUnit syntax, since I hadn’t written those tests by hand before. The idea was almost a 1:1 port from the C# track, but I think it may feel too complex for the actual level of the PHP track. For example, the exemplar uses self::, which isn’t taught yet on the PHP track. Would you rather I keep working on this PR and simplify it, or close it for now so I can open a small issue first and rewrite the exercise in a simpler way? My intention is to help improve the PHP track while learning a bit myself. I don’t want to create noise or extra work for you, so I’ll follow your suggestion. Thanks again! |
Summary
cars-assembleconcept exercise, ported fromcsharp/cars-assemble.comparison-operatorsandif-control-structuresafterbooleansand the number concepts frompizza-pi.Test plan
bin/configlet generate/fmt/lintPHPUNIT_BIN=phpunit bin/test.sh cars-assemble(18 tests passing)Made with Cursor