GildedRose-Refactoring-Kata
awesome-php
Our great sponsors
GildedRose-Refactoring-Kata | awesome-php | |
---|---|---|
27 | 7 | |
3,460 | 30,176 | |
- | - | |
8.8 | 8.5 | |
10 days ago | 7 days ago | |
C++ | ||
MIT License | Do What The F*ck You Want To Public License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
GildedRose-Refactoring-Kata
-
Getting a job at Apple without going to college or doing LeetCode
The problem is though how do you evaluate for real work without a portfolio of experience? Real work projects take weeks - perhaps months - to design, build, review and release. How do you test for that, really?
I agree leetcode style interviews are artificial, but I think they persist because few people have identified and popularised effective alternatives. At least with leetcode you've shown people in front of you have been prepared to go learn arcane stuff and apply it. It's not good, but it's better than nothing.
I was once asked to do the Gilded Rose kata[1] for one ~200 headcount Series D "startup", and it not only resembled real work - it's a refactoring problem - but it also showed their engineering culture. When I joined, I found smart people who weren't leetcode robots, but thoughtful engineers trying to solve tricky engineering problems. I "stole" Gilded Rose to use in other companies when interviewing until I joined my current employer (a FAANG, heavily prescribed process), with great success. I would like to see more katas that are as good at testing real world skills.
Also, something I've only ever been interviewed for twice in 25+ years, which I think is underplayed: pair programming and handling code review feedback. Do this more, please. If you hire people not knowing how they're going to respond to a principal engineer telling them "we need you to think about 4 other things that weren't in the original scope given to you by the PM, can you please go deal with them", why are you surprised when toys are subsequently thrown out of metaphorical prams?
[1] https://github.com/emilybache/GildedRose-Refactoring-Kata
-
Self Improvement
Gilded Rose Refactoring Kata
- Tester votre code autrement avec ApprovalTests
-
Horrific Kotlin-specific syntax that still compiles (and nested if-expressions)
While I recognise your post is about language-specific code-smells, your example reminds me of the GildedRose kata.
-
The Gilded Rose Kata in Rust
Nowadays, I think that the kata is much more widespread. It's available in plenty of languages, even some that are not considered mainstream, e.g., XSLT or ABAP. In this post, I'd like to do it in Rust. My idea is to focus less on general refactoring principles and more on Rust specifics.
-
Just one of the many reasons I struggle to get out of bed each day.
You can also start with approval tests and try to reach 100% code coverage, then start refactoring. The Gilded Rose kata from Emily Bache explains this in detail (https://github.com/emilybache/GildedRose-Refactoring-Kata). Spending a bit of time on that kata can really help you tackling this mess. They have a video series of this kata on Youtube (https://www.youtube.com/watch?v=zyM2Ep28ED8).
- As a self-taught programmer, what GitHub projects can I work on that will show evidence of exceptional ability so I can get a job?
-
Pre-interview test for a junior back-end dev position. Is this kind of test normal?
Want to see more mid-level oriented tasks, look at Gilded Rose.
-
I did the Gilded Rose kata with a somewhat different approach to normal (using Handler classes) [JAVA]
I did the Gilded Rose kata (as described here). Most places I've seen this discussed use an object hierarchy on top of the Item class, but I had a different approach in mind. Different types of handlers exist and they match to the possible items. This allows for easily adding new items with same functionality, or easily extending with new types of behaviour.
-
Tools for better programming
GildedRose Refactoring Kata PHP
awesome-php
-
Top 10 Websites to Get Help When You Are Stuck as a Developer
7. Awesome PHP - Awesome PHP is a curated list of amazingly awesome PHP libraries, resources, and tools. It's a great resource for finding solutions to PHP-related problems.
-
I got it!! Perfect timing, since I am using PHP on my new job!
+1 to "Php the right way" I would also recommend Awesome PHP https://github.com/ziadoz/awesome-php
-
Jinja2 not formatting my text correctly. Any advice?
import jinja2 template = jinja2.Template(""" # Awesome Big Data A curated list of awesome big data frameworks, libraries, software and resources. Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). """) template.render()
-
I might get an intern as a php dev, only used languages & web frameworks etc. What should I know?
A big list of awesome PHP things: https://github.com/ziadoz/awesome-php
- Alternatives to PHPUnit?
- [Help] 100 days to learn PHP from beginner to more advanced topics!
-
Tools for better programming
awesome-php has a list of code analysers.
What are some alternatives?
Racing-Car-Katas - The starting code for several code katas on a racing car theme
Tennis-Refactoring-Kata - This is a Refactoring Kata based on the rules of Tennis
Pest - Pest is an elegant PHP testing Framework with a focus on simplicity, meticulously designed to bring back the joy of testing in PHP.
Theatrical-Players-Refactoring-Kata - Example from first chapter of 'Refactoring' by Martin Fowler, with tests and translations
Twig - Twig, the flexible, fast, and secure template language for PHP
Assert - Thin assertion library for use in libraries and business-model
awesome-laravel - A curated list of bookmarks, packages, tutorials, videos and other cool resources from the Laravel ecosystem
laravel-ide-helper - IDE Helper for Laravel
SupermarketReceipt-Refactoring-Kata - This is a refactoring kata for improving your coding skills
PHPMailer - The classic email sending library for PHP