diff --git a/public/jsons/roadmaps/code-review.json b/public/jsons/roadmaps/code-review.json new file mode 100644 index 000000000..ba2ccee5b --- /dev/null +++ b/public/jsons/roadmaps/code-review.json @@ -0,0 +1 @@ +{"mockup":{"controls":{"control":[{"ID":"3197","typeID":"Label","zOrder":"7","measuredW":"150","measuredH":"28","x":"1834","y":"831","properties":{"size":"20","text":"Smaller effort for"}},{"ID":"3198","typeID":"Label","zOrder":"8","measuredW":"156","measuredH":"28","x":"1834","y":"858","properties":{"size":"20","text":"changes later on."}},{"ID":"3217","typeID":"Label","zOrder":"9","measuredW":"143","measuredH":"28","x":"1834","y":"1177","properties":{"size":"20","text":"Higher effort for"}},{"ID":"3218","typeID":"Label","zOrder":"10","measuredW":"156","measuredH":"28","x":"1834","y":"1204","properties":{"size":"20","text":"changes later on."}},{"ID":"3231","typeID":"Label","zOrder":"13","measuredW":"134","measuredH":"28","x":"827","y":"871","properties":{"size":"20","text":"Automate here"}},{"ID":"3236","typeID":"Label","zOrder":"15","measuredW":"139","measuredH":"28","x":"823","y":"1079","properties":{"size":"20","text":"Focus on these"}},{"ID":"3242","typeID":"__group__","zOrder":"12","measuredW":"302","measuredH":"190","w":"302","h":"190","x":"987","y":"784","children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"256","h":"190","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"6710886","borderColor":"6710886"}},{"ID":"1","typeID":"Canvas","zOrder":"1","w":"237","h":"86","measuredW":"100","measuredH":"70","x":"65","y":"0","properties":{"color":"6710886","borderColor":"6710886"}}]}}},{"ID":"3243","typeID":"__group__","zOrder":"14","measuredW":"190","measuredH":"293","w":"190","h":"293","x":"986","y":"985","children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"54","h":"293","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"4473924","borderColor":"4473924"}},{"ID":"1","typeID":"Canvas","zOrder":"1","w":"87","h":"181","measuredW":"100","measuredH":"70","x":"38","y":"0","properties":{"color":"4473924","borderColor":"4473924"}},{"ID":"2","typeID":"Canvas","zOrder":"2","w":"86","h":"89","measuredW":"100","measuredH":"70","x":"104","y":"0","properties":{"color":"4473924","borderColor":"4473924"}}]}}},{"ID":"3250","typeID":"Label","zOrder":"0","measuredW":"76","measuredH":"26","x":"919","y":"1329","properties":{"text":"Also visit ","size":"18"}},{"ID":"3256","typeID":"Label","zOrder":"17","measuredW":"9","measuredH":"26","x":"1254","y":"1329","properties":{"size":"18","text":"/","color":"10066329"}},{"ID":"3258","typeID":"Label","zOrder":"18","measuredW":"59","measuredH":"26","x":"1707","y":"1329","properties":{"size":"18","text":"Credits"}},{"ID":"3261","typeID":"Arrow","zOrder":"20","w":"152","h":"1","measuredW":"150","measuredH":"100","x":"796","y":"919","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"16382715","p0":{"x":152,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.048133037535308176,"y":0}}},{"ID":"3268","typeID":"Label","zOrder":"21","measuredW":"9","measuredH":"26","x":"1679","y":"1329","properties":{"size":"18","text":"/","color":"10066329"}},{"ID":"3269","typeID":"Label","zOrder":"22","measuredW":"150","measuredH":"26","x":"1289","y":"1329","properties":{"size":"18","text":"Interactive version"}},{"ID":"3270","typeID":"Arrow","zOrder":"23","w":"123","h":"1","measuredW":"150","measuredH":"100","x":"1412","y":"1438","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":123,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.2922777153748939,"y":0},"color":"16382715"}},{"ID":"3271","typeID":"Arrow","zOrder":"24","w":"170","h":"1","measuredW":"150","measuredH":"100","x":"1888","y":"919","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"16382715","p0":{"x":170.17433009674505,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":0.2922777153748939,"y":0}}},{"ID":"3284","typeID":"__group__","zOrder":"1","measuredW":"232","measuredH":"26","w":"232","h":"26","x":"1001","y":"1329","properties":{"controlName":"ext_link:roadmap.sh/best-practices/code-review"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"232","measuredH":"26","x":"0","y":"0","properties":{"color":"10027263","size":"18","text":"Code Review Best Practices"}}]}}},{"ID":"3285","typeID":"__group__","zOrder":"16","measuredW":"202","measuredH":"26","w":"202","h":"26","x":"1451","y":"1329","properties":{"controlName":"ext_link:roadmap.sh/code-review"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"202","measuredH":"26","x":"0","y":"0","properties":{"color":"10027263","size":"18","text":"roadmap.sh/code-review"}}]}}},{"ID":"3286","typeID":"__group__","zOrder":"19","measuredW":"135","measuredH":"26","w":"135","h":"26","x":"1776","y":"1329","properties":{"controlName":"ext_link:twitter.com/gunnarmorling"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"135","measuredH":"26","x":"0","y":"0","properties":{"size":"18","color":"10027263","text":"@gunnarmorling"}}]}}},{"ID":"3287","typeID":"__group__","zOrder":"3","measuredW":"196","measuredH":"102","w":"196","h":"102","x":"1304","y":"784","properties":{"controlName":"100-code-style"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"196","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"28","x":"49","y":"37","properties":{"size":"20","text":"Code Style"}}]}}},{"ID":"3288","typeID":"__group__","zOrder":"2","measuredW":"287","measuredH":"102","w":"287","h":"102","x":"1258","y":"883","properties":{"controlName":"101-tests"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"287","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"28","x":"120","y":"37","properties":{"size":"20","text":"Tests"}}]}}},{"ID":"3289","typeID":"__group__","zOrder":"4","measuredW":"424","measuredH":"102","w":"424","h":"102","x":"1190","y":"982","properties":{"controlName":"102-documentation"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"424","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"138","measuredH":"28","x":"143","y":"37","properties":{"size":"20","text":"Documentation"}}]}}},{"ID":"3290","typeID":"__group__","zOrder":"5","measuredW":"556","measuredH":"102","w":"556","h":"102","x":"1124","y":"1081","properties":{"controlName":"103-implementation-semantics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"556","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"241","measuredH":"28","x":"157","y":"37","properties":{"size":"20","text":"Implementation Semantics"}}]}}},{"ID":"3291","typeID":"__group__","zOrder":"6","measuredW":"699","measuredH":"102","w":"699","h":"102","x":"1052","y":"1176","properties":{"controlName":"104-api-semantics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"699","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"131","measuredH":"28","x":"284","y":"37","properties":{"size":"20","text":"API Semantics"}}]}}},{"ID":"3292","typeID":"__group__","zOrder":"11","measuredW":"14","measuredH":"487","w":"14","h":"487","x":"1798","y":"799","children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"14","measuredH":"36","x":"0","y":"451","properties":{"text":"v","size":"28"}},{"ID":"1","typeID":"Arrow","zOrder":"1","w":"1","h":"473","measuredW":"150","measuredH":"100","x":"7","y":"0","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":0,"y":-0.14389738910188044},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0,"y":472.82713475857486}}}]}}}]},"attributes":{"name":"New Wireframe 9 copy 7","order":1000156.2209166192,"parentID":null,"notes":null},"branchID":"Master","resourceID":"057DB19F-D6AC-44FC-8C5C-52D4D800A91B","mockupH":"655","mockupW":"1262","measuredW":"2058","measuredH":"1439","version":"1.0"},"groupOffset":{"x":0,"y":0},"dependencies":[],"projectID":"file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr"} \ No newline at end of file diff --git a/public/pdfs/roadmaps/code-review.pdf b/public/pdfs/roadmaps/code-review.pdf new file mode 100644 index 000000000..26cc420c7 Binary files /dev/null and b/public/pdfs/roadmaps/code-review.pdf differ diff --git a/src/data/roadmaps/code-review/code-review.md b/src/data/roadmaps/code-review/code-review.md new file mode 100644 index 000000000..1c9f764bd --- /dev/null +++ b/src/data/roadmaps/code-review/code-review.md @@ -0,0 +1,47 @@ +--- +jsonUrl: '/jsons/roadmaps/code-review.json' +pdfUrl: '/pdfs/roadmaps/code-review.pdf' +order: 14 +briefTitle: 'Code Review' +briefDescription: 'Learn what to review when conducting code reviews.' +title: 'Code Review Pyramid' +description: 'Learn what to review when conducting code reviews.' +isNew: true +hasTopics: true +dimensions: + width: 968 + height: 506.06 +schema: + headline: 'Code Review Guide' + description: 'Learn what to review when conducting Code Reviews with this interactive guide. We also have resources and short descriptions attached to the roadmap items so you can get everything you want to learn in one place.' + imageUrl: 'https://roadmap.sh/roadmaps/code-review.png' + datePublished: '2023-06-03' + dateModified: '2023-06-03' +seo: + title: 'Code Review - roadmap.sh' + description: 'Learn what to review when conducting code reviews. We also have questions to ask yourself under each node of the pyramid to guide you further.' + keywords: + - 'code review tutorial' + - 'code review guide' + - 'code review for beginners' + - 'code reviews' + - 'code review best practices' + - 'code review roadmap 2023' + - 'guide to learning code review' + - 'code review roadmap' + - 'code review learning path' + - 'code review learning roadmap' + - 'what is code review' +relatedRoadmaps: + - 'backend' + - 'frontend' + - 'devops' + - 'system-design' +sitemap: + priority: 1 + changefreq: 'monthly' +tags: + - 'roadmap' + - 'main-sitemap' + - 'skill-roadmap' +--- diff --git a/src/data/roadmaps/code-review/content/100-code-style.md b/src/data/roadmaps/code-review/content/100-code-style.md new file mode 100644 index 000000000..93eb53cfe --- /dev/null +++ b/src/data/roadmaps/code-review/content/100-code-style.md @@ -0,0 +1,6 @@ +# Questions to Ask + +- Is the project's formatting style applied? +- Does it adhere to the agreed-upon naming conventions? +- Is it DRY? +- Is the code sufficiently "readable" (method lengths, etc.)? diff --git a/src/data/roadmaps/code-review/content/101-tests.md b/src/data/roadmaps/code-review/content/101-tests.md new file mode 100644 index 000000000..a4e5e0131 --- /dev/null +++ b/src/data/roadmaps/code-review/content/101-tests.md @@ -0,0 +1,7 @@ +# Questions to Ask + +- Are all tests passing? +- Are new features reasonably tested? +- Are corner cases tested? +- Is it using unit tests where possible, integration tests where necessary? +- Are there tests for NFRs, e.g. performance? diff --git a/src/data/roadmaps/code-review/content/102-documentation.md b/src/data/roadmaps/code-review/content/102-documentation.md new file mode 100644 index 000000000..096079b62 --- /dev/null +++ b/src/data/roadmaps/code-review/content/102-documentation.md @@ -0,0 +1,5 @@ +# Questions to Ask + +- New features reasonably documented? +- Are the relevant kinds of does covered: README, API docs, user quide, reference docs, etc? +- Are docs understandable, are there no signiticant typos and grammar mistakes? diff --git a/src/data/roadmaps/code-review/content/103-implementation-semantics.md b/src/data/roadmaps/code-review/content/103-implementation-semantics.md new file mode 100644 index 000000000..4e0757b7e --- /dev/null +++ b/src/data/roadmaps/code-review/content/103-implementation-semantics.md @@ -0,0 +1,10 @@ +# Questions to Ask + +- Does it satisfy the original requirements? +- Is it logically correct? +- Is there no unnecessary complexity? +- Is it robust (no concurrency issues, proper error handling, etc.)? +- Is it performant? +- Is it secure e.g., no SQL injections, etc? +- Is it observable e.g., metrics, logging, tracing, etc.? +- Do newly added dependencies pull their weight? Is their license acceptable? diff --git a/src/data/roadmaps/code-review/content/104-api-semantics.md b/src/data/roadmaps/code-review/content/104-api-semantics.md new file mode 100644 index 000000000..462d825a6 --- /dev/null +++ b/src/data/roadmaps/code-review/content/104-api-semantics.md @@ -0,0 +1,8 @@ +# Questions to Ask + +- API as small as possible, as large as needed? +- Is there one way of doing one thing, not multiple ones? +- Is it consistent, does it follow the principle of least surprise? +- Clean split of API/internals without internals leaking into the API? +- Are there no breaking changes to user-facing parts (API classes, configuration, metrics, log formats, etc)? +- Is a new API generally useful and not overly specific to a single use case? diff --git a/src/data/roadmaps/code-review/content/index.md b/src/data/roadmaps/code-review/content/index.md new file mode 100644 index 000000000..4e768b56d --- /dev/null +++ b/src/data/roadmaps/code-review/content/index.md @@ -0,0 +1 @@ +# \ No newline at end of file diff --git a/src/data/roadmaps/code-review/faqs.astro b/src/data/roadmaps/code-review/faqs.astro new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/docker/docker.md b/src/data/roadmaps/docker/docker.md index 42f73f9f8..aead054ee 100644 --- a/src/data/roadmaps/docker/docker.md +++ b/src/data/roadmaps/docker/docker.md @@ -29,6 +29,9 @@ seo: - 'docker roadmap 2023' - 'guide to learning docker' - 'docker roadmap' + - 'docker learning path' + - 'docker learning roadmap' + - 'container roadmap' - 'docker' - 'docker learning guide' - 'docker skills'