Live data from Hacker News

Show HN: Crocodile - Better code review for GitHub

crocodile.dev

31–40 of 62 posts

Re: Show HN: Crocodile - Better code review for GitHub

#31

Earlier quoted context omitted.

How does the metrics shown in the action help you? If someone adds a lot of comments, are they nitpicking too much or providing more valuable feedback? Does lack of reviewing PR hints lack of contribution or person being focused on something?

> How does the metrics shown in the action help you? We've mostly looked at "Total reviews" and "Total comments". When I put the action in place, I told the team that the goal was for everyone to contribute to the process. I was expecting to look at the stats, make some observations and action items and bring it up during our 1:1. I didn't even need to do that. Everybody took it to heart and contributed in different…

That's actually a use case I've thought about. When review time came around, one of my past managers would compile statistics on everyone's reviews to see how much they've been participating.

Another feature I've thought about is "show me all of person X's reviews and comments across all repos". That would have been super useful when I was on promo panels to go through and see if a promo candidate's review comments were useful, constructive, kind, etc.

Thanks for the feedback. I really appreciate it!

Re: Show HN: Crocodile - Better code review for GitHub

#32
post #24

My biggest issue with Github code reviews is how broken the "Changes requested" state is. If I request changes, there's no easy way to see that changes have been addressed and are clear for me to look at again. I end up using open unresolved comments as the basis for changes requested now. It's hard to filter for those though.

I hear you. Crocodile has a couple features that try to address this.

1. More comment states. Comments start as "open". The workflow I had in mind was that once the author addresses it, they would mark it as "resolved". The reviewer can go to the comments view (in the meta section on the left nav) where they can filter to resolved comments. If it looks good, they can mark it as "closed" or "open" again if they want more changes. I have this as a suggested workflow in the docs. [1]

2. The iterations section in the left nav lets you compare any two iterations. You can use this to see what has changed since your last review. Crocodile even indicates which iteration your last review was on to make this easy.

[1] https://www.crocodile.dev/docs#commenting

Re: Show HN: Crocodile - Better code review for GitHub

#33
post #24

My biggest issue with Github code reviews is how broken the "Changes requested" state is. If I request changes, there's no easy way to see that changes have been addressed and are clear for me to look at again. I end up using open unresolved comments as the basis for changes requested now. It's hard to filter for those though.

As long as someone re-requests reviews (clicks on the little refresh icon) it should show up again in your pull requests to review.

That's still a pretty broken experience though. If I update a PR via the CLI, why do I have to fumble around on github.com's UI again? The next revision is already up!

Re: Show HN: Crocodile - Better code review for GitHub

#34
post #18

This is cool! I'm happy to see more options in this space. The best code review tool I've ever used was a tool at Google called Critique.[0] They've open-sourced it as Gerrit[1], but there are sadly no hosted versions available for under $15k/yr, and it's complicated to self-host. I've been using Reviewable, and my experience has been good not great. Github's native code review has caught up a bit, but Github's revie…

Have you used Review Board?

Re: Show HN: Crocodile - Better code review for GitHub

#35
post #18

This is cool! I'm happy to see more options in this space. The best code review tool I've ever used was a tool at Google called Critique.[0] They've open-sourced it as Gerrit[1], but there are sadly no hosted versions available for under $15k/yr, and it's complicated to self-host. I've been using Reviewable, and my experience has been good not great. Github's native code review has caught up a bit, but Github's revie…

I can see how the iterations control can be not obvious. I'll add a docs section that explains it. The two columns of radio buttons represent your selection for the left and right side of the diff. You can also click on any iteration to diff it against the base.

I've made a couple notes based on this to help me prioritize next. Thanks for taking the time to provide all this amazing feedback!

Re: Show HN: Crocodile - Better code review for GitHub

#36

This provides better UX but adds one more redirection when you are using github. Do you support features like github suggestions which can be committed easily by author? Given your history with Microsoft and their internal tool which this is inspired by, how long until github copies some of the ideas? How many active users does this have? Are there potential problems you see outside of current product? I remember a s…

> Do you support features like github suggestions which can be committed easily by author? Not right now. The suggestion feature is something I want to add in the future if there's interest though! > Given your history with Microsoft and their internal tool which this is inspired by, how long until github copies some of the ideas? No idea! But CodeFlow had been around for many years before they acquired GitHub so the…

Another +1 for suggestions (with 'commit now' button). It's the thing I love most about GitHub PRs, and I wouldn't consider leaving it for a solution without it :-)

Re: Show HN: Crocodile - Better code review for GitHub

#37
Nice idea! I'd be interested in giving it a try for our project in the future.

It does seem that the demo review is broken in Safari, I get a JS error and the UI doesn't seem to work completely:

> [Error] TypeError: e.connect is not a function. (In 'e.connect(l,s)', 'e.connect' is undefined)

Also, is there any way to keep up-to-date on the project? I don't see a newsletter or Twitter link on your homepage.

Re: Show HN: Crocodile - Better code review for GitHub

#38
I like the site + product idea, but the demo fails to show me anything interesting except a floating comment. So I can't yet see the value of the tool.

The files you've chosen to use don't appear to show any difference between iteration 1 and 2, so one of your major features doesn't do anything. Is that a bug, or accidental? (I'm using Firefox 101 on MacOS 11.4).

My personal dumb suggestion: give a few demos, showing off the very worst points of code review hell, and how crocodile fixes each one. Make it a game. E.g.

"You're halfway through a large code review, and Sally has just added 2 new commits, ugh. Challenge: find the button to see the new additions, then decide if you want to include them in your current review, or review this iteration first and the new additions separately."

"Simon has just added a merge commit that fucks everything up, all the files look weird. Challenge: there's a way you can trivially see that the PR before this extra commit was looking great."

"You can spot a new method that was introduced, and you'd like to see the places where it's being called, but that's a lot of scrolling back and forth. Challenge: find how to show code hints on a selected piece of text"

Re: Show HN: Crocodile - Better code review for GitHub

#39
This looks super interesting, it looks like it'd solve a few of my gripes with GitHub reviews. Congratulations on the launch!

One thing I've always wondered is why all these review tools use centralised databases. Git itself is a distributed model and reviews tend to boil down to code comments on set of lines or characters. I'm always surprised no one has created a review tool that ships around reviews like patch files. Even if there was a server as an option, like github, I could then work offline and build little tools to help make my review process more efficient.

I suppose it's not quite as easy to monitise as it's decentralised, but I'd love to see one crop up some day. Then my review process can match up with my coding process.

Either way this looks like a big improvement in some areas over the GitHub tools so I'll definitely be checking it out.

Re: Show HN: Crocodile - Better code review for GitHub

#40
It's worth trying. There's one quibble:

  How does Crocodile access my source code?

  Crocodile stores the source code files that are part of reviews to provide a 
  fast user experience. Every file is encrypted with per file data encryption 
  keys. The data encryption keys are then encrypted with a master encryption key. 
  All cryptographic operations are performed using Google Tink, which is a 
  cryptographic library created by cryptographers at Google that is designed to be misuse resistant.

  Files are encrypted using Stream AEAD using AES128_GCM_HKDF_4KB key type as recommended by Google.

  The data encryption keys above are encrypted using AEAD with a master AES128 key.
So, um, what's the story with the master encryption key? Are the master keys in their own file? E.g., if Crocodile gets hacked, can the hackers pull up everyone's reviews (and sources)? Or does all this encryption keep it encrypted at rest and require something from the user (e.g., their password) to derive the master key?
Post reply on HN