{"id":25,"date":"2021-06-28T20:55:14","date_gmt":"2021-06-28T20:55:14","guid":{"rendered":"https:\/\/openbooks.library.unt.edu\/theseworkbook\/chapter\/chapter-6-coding-standards-and-reviews\/"},"modified":"2021-08-10T15:24:20","modified_gmt":"2021-08-10T15:24:20","slug":"chapter-6-coding-standards-and-reviews","status":"publish","type":"chapter","link":"https:\/\/openbooks.library.unt.edu\/seworkbook\/chapter\/chapter-6-coding-standards-and-reviews\/","title":{"raw":"Coding standards and reviews","rendered":"Coding standards and reviews"},"content":{"raw":"<div class=\"chapter-6:-coding-standards-and-reviews\">\r\n<p class=\"import-Normal\">Team experiences are a great opportunity to learn new things and best practices from each other. In many courses, you are expected to write code as an individual and are not able to look at code that is written by others. However, at this point in the curriculum, you may learn many valuable tips and tricks from team members. You\u2019ll want to take advantage of the treasure trove of knowledge that your team members possess. If you have the opportunity, you may consider pair programming to learn from each other.<\/p>\r\n<p class=\"import-Normal\">In addition to learning from each other, you should also focus on learning to write code as a team. Obviously, you\u2019ll want to write code that is easy to integrate, but don\u2019t overlook the importance of consistency and documentation.<\/p>\r\n&nbsp;\r\n<p class=\"import-Normal\"><strong>1. Create style guides<\/strong><\/p>\r\n<p class=\"import-Normal\">When several people contribute code to a project, it\u2019s easy to create a mess with different coding styles. Your odds of success increase when you create a strong design together. In addition, don\u2019t overlook the nuances of coding styles. Agree upon coding standards before you begin. At this point, in an introductory Software Engineering class, we encourage you to have your design reviewed by your instructor and Teaching Assistants and then identify coding style guidelines for your team.<\/p>\r\n<p class=\"import-Normal\">Most companies use style guides. You will learn a lot when you work in different teams at different companies because you the style guides will help you to develop similar experiences to those in your team. The opportunity to work in a Software Engineering team with other students allows you to have a lot of freedom and learn a particular style. You\u2019ll gain insight and view the world slightly differently as you work on different teams, so take the opportunity to start that learning experience now!<\/p>\r\n<p class=\"import-Normal\">Here are sample style guides that we think are well done:<\/p>\r\n\r\n<ul>\r\n \t<li>Google style guides: http:\/\/google.github.io\/styleguide\/<\/li>\r\n \t<li><a class=\"rId8\" href=\"https:\/\/google.github.io\/styleguide\/cppguide.html\"><span class=\"import-Hyperlink\">C++:<\/span><\/a> https:\/\/google.github.io\/styleguide\/cppguide.html<\/li>\r\n \t<li><a class=\"rId9\" href=\"http:\/\/google.github.io\/styleguide\/objcguide.html\"><span class=\"import-Hyperlink\">Objective-C Style Guide<\/span><\/a>: http:\/\/google.github.io\/styleguide\/objcguide.html<\/li>\r\n \t<li><a class=\"rId10\" href=\"https:\/\/google.github.io\/styleguide\/javaguide.html\"><span class=\"import-Hyperlink\">Java Style Guide<\/span><\/a>: https:\/\/google.github.io\/styleguide\/javaguide.html<\/li>\r\n \t<li><a class=\"rId11\" href=\"https:\/\/github.com\/google\/styleguide\/blob\/gh-pages\/pyguide.md\"><span class=\"import-Hyperlink\">Python Style Guide<\/span><\/a>: https:\/\/github.com\/google\/styleguide\/blob\/gh-pages\/pyguide.md<\/li>\r\n \t<li><a class=\"rId12\" href=\"https:\/\/google.github.io\/styleguide\/htmlcssguide.html\"><span class=\"import-Hyperlink\">HTML\/CSS Style Guide<\/span><\/a>: https:\/\/google.github.io\/styleguide\/htmlcssguide.html<\/li>\r\n \t<li><a class=\"rId13\" href=\"https:\/\/google.github.io\/styleguide\/jsguide.html\"><span class=\"import-Hyperlink\">JavaScript Style Guide<\/span><\/a>: https:\/\/google.github.io\/styleguide\/jsguide.html<\/li>\r\n \t<li><a class=\"rId14\" href=\"https:\/\/google.github.io\/styleguide\/angularjs-google-style.html\"><span class=\"import-Hyperlink\">Angular JS Style Guide<\/span><\/a>: https:\/\/google.github.io\/styleguide\/angularjs-google-style.html<\/li>\r\n \t<li><a class=\"rId15\" href=\"https:\/\/google.github.io\/styleguide\/vimscriptguide.xml\"><span class=\"import-Hyperlink\">Vimscript Style Guide<\/span><\/a>: https:\/\/google.github.io\/styleguide\/vimscriptguide.xml<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">Issues for your team to discuss include:<\/p>\r\n\r\n<ul>\r\n \t<li>Source file organization: organization and naming<\/li>\r\n \t<li>Source file structures: organization within files<\/li>\r\n \t<li>Code formatting and naming rules<\/li>\r\n \t<li>Best practices and other rules (possibly related to the languages\/technologies)<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\"><\/p>\r\n\r\n<\/div>","rendered":"<div class=\"chapter-6:-coding-standards-and-reviews\">\n<p class=\"import-Normal\">Team experiences are a great opportunity to learn new things and best practices from each other. In many courses, you are expected to write code as an individual and are not able to look at code that is written by others. However, at this point in the curriculum, you may learn many valuable tips and tricks from team members. You\u2019ll want to take advantage of the treasure trove of knowledge that your team members possess. If you have the opportunity, you may consider pair programming to learn from each other.<\/p>\n<p class=\"import-Normal\">In addition to learning from each other, you should also focus on learning to write code as a team. Obviously, you\u2019ll want to write code that is easy to integrate, but don\u2019t overlook the importance of consistency and documentation.<\/p>\n<p>&nbsp;<\/p>\n<p class=\"import-Normal\"><strong>1. Create style guides<\/strong><\/p>\n<p class=\"import-Normal\">When several people contribute code to a project, it\u2019s easy to create a mess with different coding styles. Your odds of success increase when you create a strong design together. In addition, don\u2019t overlook the nuances of coding styles. Agree upon coding standards before you begin. At this point, in an introductory Software Engineering class, we encourage you to have your design reviewed by your instructor and Teaching Assistants and then identify coding style guidelines for your team.<\/p>\n<p class=\"import-Normal\">Most companies use style guides. You will learn a lot when you work in different teams at different companies because you the style guides will help you to develop similar experiences to those in your team. The opportunity to work in a Software Engineering team with other students allows you to have a lot of freedom and learn a particular style. You\u2019ll gain insight and view the world slightly differently as you work on different teams, so take the opportunity to start that learning experience now!<\/p>\n<p class=\"import-Normal\">Here are sample style guides that we think are well done:<\/p>\n<ul>\n<li>Google style guides: http:\/\/google.github.io\/styleguide\/<\/li>\n<li><a class=\"rId8\" href=\"https:\/\/google.github.io\/styleguide\/cppguide.html\"><span class=\"import-Hyperlink\">C++:<\/span><\/a> https:\/\/google.github.io\/styleguide\/cppguide.html<\/li>\n<li><a class=\"rId9\" href=\"http:\/\/google.github.io\/styleguide\/objcguide.html\"><span class=\"import-Hyperlink\">Objective-C Style Guide<\/span><\/a>: http:\/\/google.github.io\/styleguide\/objcguide.html<\/li>\n<li><a class=\"rId10\" href=\"https:\/\/google.github.io\/styleguide\/javaguide.html\"><span class=\"import-Hyperlink\">Java Style Guide<\/span><\/a>: https:\/\/google.github.io\/styleguide\/javaguide.html<\/li>\n<li><a class=\"rId11\" href=\"https:\/\/github.com\/google\/styleguide\/blob\/gh-pages\/pyguide.md\"><span class=\"import-Hyperlink\">Python Style Guide<\/span><\/a>: https:\/\/github.com\/google\/styleguide\/blob\/gh-pages\/pyguide.md<\/li>\n<li><a class=\"rId12\" href=\"https:\/\/google.github.io\/styleguide\/htmlcssguide.html\"><span class=\"import-Hyperlink\">HTML\/CSS Style Guide<\/span><\/a>: https:\/\/google.github.io\/styleguide\/htmlcssguide.html<\/li>\n<li><a class=\"rId13\" href=\"https:\/\/google.github.io\/styleguide\/jsguide.html\"><span class=\"import-Hyperlink\">JavaScript Style Guide<\/span><\/a>: https:\/\/google.github.io\/styleguide\/jsguide.html<\/li>\n<li><a class=\"rId14\" href=\"https:\/\/google.github.io\/styleguide\/angularjs-google-style.html\"><span class=\"import-Hyperlink\">Angular JS Style Guide<\/span><\/a>: https:\/\/google.github.io\/styleguide\/angularjs-google-style.html<\/li>\n<li><a class=\"rId15\" href=\"https:\/\/google.github.io\/styleguide\/vimscriptguide.xml\"><span class=\"import-Hyperlink\">Vimscript Style Guide<\/span><\/a>: https:\/\/google.github.io\/styleguide\/vimscriptguide.xml<\/li>\n<\/ul>\n<p class=\"import-Normal\">Issues for your team to discuss include:<\/p>\n<ul>\n<li>Source file organization: organization and naming<\/li>\n<li>Source file structures: organization within files<\/li>\n<li>Code formatting and naming rules<\/li>\n<li>Best practices and other rules (possibly related to the languages\/technologies)<\/li>\n<\/ul>\n<p class=\"import-Normal\">\n<\/div>\n","protected":false},"author":6,"menu_order":5,"template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"class_list":["post-25","chapter","type-chapter","status-publish","hentry"],"part":3,"_links":{"self":[{"href":"https:\/\/openbooks.library.unt.edu\/seworkbook\/wp-json\/pressbooks\/v2\/chapters\/25","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/openbooks.library.unt.edu\/seworkbook\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/openbooks.library.unt.edu\/seworkbook\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/openbooks.library.unt.edu\/seworkbook\/wp-json\/wp\/v2\/users\/6"}],"version-history":[{"count":3,"href":"https:\/\/openbooks.library.unt.edu\/seworkbook\/wp-json\/pressbooks\/v2\/chapters\/25\/revisions"}],"predecessor-version":[{"id":187,"href":"https:\/\/openbooks.library.unt.edu\/seworkbook\/wp-json\/pressbooks\/v2\/chapters\/25\/revisions\/187"}],"part":[{"href":"https:\/\/openbooks.library.unt.edu\/seworkbook\/wp-json\/pressbooks\/v2\/parts\/3"}],"metadata":[{"href":"https:\/\/openbooks.library.unt.edu\/seworkbook\/wp-json\/pressbooks\/v2\/chapters\/25\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/openbooks.library.unt.edu\/seworkbook\/wp-json\/wp\/v2\/media?parent=25"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/openbooks.library.unt.edu\/seworkbook\/wp-json\/pressbooks\/v2\/chapter-type?post=25"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/openbooks.library.unt.edu\/seworkbook\/wp-json\/wp\/v2\/contributor?post=25"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/openbooks.library.unt.edu\/seworkbook\/wp-json\/wp\/v2\/license?post=25"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}