GildedRose-Refactoring-Kata
sourcery
Our great sponsors
GildedRose-Refactoring-Kata | sourcery | |
---|---|---|
27 | 13 | |
3,481 | 1,476 | |
- | 0.6% | |
8.8 | 6.5 | |
5 days ago | 6 days ago | |
C++ | ||
MIT License | MIT 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
-
Evolving Legacy Software Architecture
If you want to improve your refactoring skills, I recommend you take a look at The Gilded Rose Kata, a structured approach to refactoring training, initially created by Terry Hughes, and further refined by Emily Bache. It emphasizes test-driven development, proven refactoring patterns and an evolutionary approach.
-
First time I'm responsible for hiring someone..
Here's the link to the problem: https://github.com/emilybache/GildedRose-Refactoring-Kata
-
Is TDD anywhere to be found in the real world?
At the same conference, I also watched a demonstration using the Gilded Rose Kata to show the value of writing tests before refactoring. I don’t have the exact video, but there are plenty of gilded rose videos out there. Or you can just try writing some tests and refactoring the gilded rose yourself: https://github.com/emilybache/GildedRose-Refactoring-Kata
-
Self Improvement
Gilded Rose Refactoring Kata
- Tech workers had their pick of jobs for years. That era is over for now
-
Gilded Rose Kata: Javascript/Jest
Hello friends. This is my Gilded Rose Kata blog post.
-
10 year career in development to be let go midway through an interview...should I pursue another career path?
Today, the HR recruiter came in before the management meeting and rejected me for an open position as a tech lead due to the technical results. It was an easy kata (https://github.com/emilybache/GildedRose-Refactoring-Kata) but I decided to design tests for the entire code, and not for the new feature itself. Being cut off in the middle of the interview has never happened to me before. I do code and I do enjoy front end development, but I am frustrated with my current job and perhaps I am not cut out for this. If I cannot complete a technical kata/test in front of people, then how can I move past this job I have now?
-
Critique my GitHub?
Now don't want to be too critical and just leave you hanging. Instead of doing just random code sandboxes, I would recommend to grind your teeth against something like this: https://github.com/emilybache/GildedRose-Refactoring-Kata
-
[another post showcasing when someone found code they wrote a long time ago]
So what is the Gilded Rose? Is it it this? https://github.com/emilybache/GildedRose-Refactoring-Kata
sourcery
-
Ask HN: How do you get an open-source product noticed by developers?
In my experience, the developer tools that really catch on do so via word of mouth. For example, our whole team recently adopted https://sourcery.ai/ (not an ad) because one developer tried it and hyped it up to everyone else who also liked it.
-
Google Python Style Guide
To those that wish to automate a subset of these conventions, there is a tool called Sourcery[1] that I, personally, am a huge fan of! Not only does it have a large set of default rules[2], but it can also allow you to write your own rules that may be specific to your team or organization, and as mentioned it can enable you to follow Google's Python style guide as well[3].
There are some refactorings that Sourcery suggest that I don't agree with myself, namely the usage of 'contextlib.suppress'[4] as I don't like to introduce an additional 'import' statement just to do something so trivial. I wish Sourcery would add the relevance of having possibly too many 'import' statements as a heuristic.
---
[1]: https://sourcery.ai/
[2]: https://docs.sourcery.ai/Reference/Default-Rules/ (expand the sub-pages)
[3]: https://docs.sourcery.ai/Reference/Optional-Rules/gpsg/
-
What are the best Python libraries to learn for beginners?
During development, tools like Sourcery could show you improvements for code quality.
-
Quick wins in improving your Python codebase health
One of the first tools I install when setting up my Python dev environment is Sourcery. This still uses AI/ML to suggest code improvements to your Python code, but unlike GitHub's Copilot, it won't write code for you.
-
git client for kde (gitklient)
"Sourcery" exists
-
Making Python Code Idiomatic by Automatic Refactoring Non-Idiomatic Python Code with Pythonic Idioms
Looks downright wicked https://sourcery.ai/
-
Create file if it doesn't exist, as well as its folders?
As a bit of trivia, https://sourcery.ai/ will replace
- Is there a linter which would suggest using elif rather than an else in an if clause?
-
[lspconfig] The Authentication token must be provided
I guess you have to signup in their website sourcery.ai. I actually don't use sourcery, I don't know the details on how to get the token.
-
Tools to write clean Go code
When I'm writing Python, one of my favorite tools is [Sourcery](https://sourcery.ai/). Are there any similar tools for Go? What else do you recommend?
What are some alternatives?
Racing-Car-Katas - The starting code for several code katas on a racing car theme
jedi - Awesome autocompletion, static analysis and refactoring library for python
Tennis-Refactoring-Kata - This is a Refactoring Kata based on the rules of Tennis
pylsp-rope - Extended refactoring capabilities for python-lsp-server using Rope
laravel-ide-helper - IDE Helper for Laravel
ruff - An extremely fast Python linter and code formatter, written in Rust.
Assert - Thin assertion library for use in libraries and business-model
pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.
SupermarketReceipt-Refactoring-Kata - This is a refactoring kata for improving your coding skills
yt-channels-DS-AI-ML-CS - A comprehensive list of 180+ YouTube Channels for Data Science, Data Engineering, Machine Learning, Deep learning, Computer Science, programming, software engineering, etc.
Parrot-Refactoring-Kata - Kata to learn about Polymorphism
study-path - An organized learning path on Clean Code, Test-Driven Development, Legacy Code, Refactoring, Domain-Driven Design and Microservice Architecture