This repository contains a better version of the code from MIT's 6.824 intended for non-MIT students who just want to dive into the code.
The modifications include:
- Restructuring the code to use Go modules and to remove errors. Some of these errors include duplicate methods on the same package, when really they should belong to different folders/packages since they should not be compiled separately anyway (see the mr folder).
- Editing some scripts to account for the restructuring.
- Removing files that required Athena to use. The presence of these files will cause errors/warnings in your Go code otherwise.
- Removing golint warnings/errors. Most of these changes are cosmetic (changing
x += 1
tox++
, using camelCase instead of snake_case, adding documentation for exported functions/variables). The only non-cosmetic change is replacing calls tot.Fatalf
from non-test goroutines in labrpc/test_test.go.
The result of these changes is that you can immediately clone this repo and use all your IDE features without noise. Otherwise, your IDE will complain of errors from the original code (though running the terminal commands will work fine).
The original code can be found in
git://g.csail.mit.edu/6.824-golabs-2020 6.824