On-screen text
Leetcode is dead.
HackerRank
Leetcode is dead.
Nobody writes code line by line anymore. Developers are orchestrating AI, debugging its output, catching when it goes wrong.
We're building assessments that test fundamentals and AI fluency together. Not just memorized algorithms.
Because that's the actual job now.
Ian Miles Cheong @lanmiles Feb 5
Or is it?
focusing on debugging
here's what you
would do
MIT's
on debugging
and profiling
[Lecture 4]
Debugging and Profiling
The Missing Semester of Your CS Education
https://missing.csail.mit.edu/
Watch on
YouTube
A golden rule in programming is that code does not do what you expect it to do, but what you tell it to do. Bridging that gap can sometimes be a quite difficult feat. In this lecture we are going to cover useful techniques for dealing with buggy and resource hungry code: debugging and profiling.
Debugging
Printf Debugging and Logging
The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.
Brian Kernighan, Unix for Beginners
A first approach to debug a program is to add print statements around where you have detected the problem, and keep iterating until you have extracted enough information to understand what is responsible for the issue.
A second approach is to use logging in your program, instead of ad hoc print statements. Logging is essentially "printing with more care", and is usually
here is how you
find the bugs
and print them
And if you can
makes the coding
review easier
eng-practices
The Standard of Code Review
The primary purpose of code review is to make sure that the overall code health tools and processes of code review are designed to this end.
In order to accomplish this, a series of trade-offs have to be balanced.
First, developers must be able to make progress on their tasks. If you never submit codebase never improves. Also, if a reviewer makes it very difficult for any change improvements in the future.
On the other hand, it is the duty of the reviewer to make sure that each CL is of such codebase is not decreasing as time goes on. This can be tricky, because often, codeb health over time, especially when a team is under significant time constraints and they accomplish their goals.
Also, a reviewer has ownership and responsibility over the code they are reviewing. The consistent, maintainable, and all of the other things mentioned in "What to look for in a
Thus, we get the following rule as the standard we expect in code reviews.
In general, reviewers should favor approving a CL once it is in a state where it definite system being worked on, even if the CL isn't perfect.
That is the senior principle among all of the code review guidelines.
There are limitations to this, of course. For example, if a CL adds a feature that the reviewer reviewer can certainly deny approval even if the code is well-designed.
A key point here is that there is no such thing as "perfect" code-there is only better code. polish every tiny piece of a CL before granting approval. Rather, the reviewer should balan compared to the importance of the changes they are suggesting. Instead of seeking perfect continuous improvement. A CL that, as a whole, improves the maintainability, readability, be delayed for days or weeks because it isn't "perfect."
Reviewers should always feel free to leave comments expressing that something could be better, with something like "Nit: " to let the author know that it's just a point of polish that they could c
Note: Nothing in this document justifies checking in CLs that just a point of polish that they could c
do PR reviews.
becoming more
coding interviews,
I would go here
do is Sad servers
because list
you have to figure
out how to debug
them.
below and I'll
send you the link.