- Complete Code Review Checklist
- Code Review Checklist
- Brief Overview – Code Review Checklist – with Sample Document
- Code Review Checklist
- Assessing the Students Understanding and their Mistakes in Code Review Checklists
- How to Review Code | Best Practices | Pull/Merge Requests | iOS | Swift | Checklist
- L06 09 Peer Review Checklist Template
Complete Code Review Checklist
hey whats up everyone hope youre all,doing well staying safe in the,quarantine first just wanted to come,online and give a big thank you to,everyone that watched and commented on,the video I made before this it means a,lot to me I know I still have a lot of,loyal subscribers that still watch my,content even after all this time and I,was thinking about it if you guys are,loyal to my channel I still have to stay,loyal to all you guys and what that,needs is still making this channel,helpful and creating good content so,thats what I want to do today alright,so again thank you very much were going,to talk about something that I feel is,very important especially at a time like,this and thats going to be code reviews,all right Im going to give it a little,bit of a longer introduction than normal,but it deserves it,first lets talking about who is this,video for code reviews if youre a,software developer if youre actively,programming this video is going to be,relevant for you if you dont do any of,these things if youre not coding and,youre not trying to get better at it,then this video might be a little,useless you can stick around if you want,to listen to my voice or wash my face,for the next 10-15 minutes whatever you,want what is this gonna be so Ive,compiled a checklist a code review,checklist which is pretty much,everything you should watch out for when,reviewing someone elses code Ive put,12 items on there and this is also gonna,be very useful for writing your own code,but the guts of this video is gonna,were gonna go through this checklist,pretty fast third I think its important,to know why somethings important dont,do stuff blindly you should know that,something is important and dont just,waste your time but from my opinion I do,think code reviews are especially,important especially when youre working,remotely and apart from your co-workers,reviewing other peoples work is a,communication process and doing a code,review well really says a lot to how,good you are as a software engineer so I,do think its really important secondly,this is obvious but to be good at the,crap you have to know how to review the,craft if youre a plumber I expect you,to know if the toilet is,all properly if youre a programmer I,dont really expect you to know anything,about toilets code reviews help you stay,technical I always say at the state,technical for as long as possible,I promise everybody watching this video,is that by the end of the video your,code review skills will be upgraded what,to do after this video so Im upping my,social media game Im asking for all,your help but first Im gonna go over a,blog post in this video I want you to,bookmark the blog post pretty much,bookmark my website and use the,checklist as a future reference for all,your code reviews please sign up for my,newsletter and I never thought I would,say this but please also follow me on,Instagram all the links are gonna be in,the description all right so were gonna,go through a really really high level,overview everybody should explore each,topic further but Im gonna go through,these really high-level but anyway this,is a breadth-first traversal kind of,thing and you need to go deep so lets,get start so what were gonna do in this,video is pretty much just go over my,blog post were not going to go through,all these points you can read them,separately what I want you to do is just,look at the numbered items and follow my,voice all right were gonna talk about,everything at a very high level but this,video is just gonna be to broaden,just broaden your horizon and add to,your framework of code reviews you,probably have your own patterns Im just,adding to it alright and just kind of,expand the thinking a little bit first,first thing to do when you review code,you just got to make sure the code works,and dont assume it just works out of,the box,right you have to take your time and,actually understand the implementation,if you cant even understand what the,author is trying to do theres no way,you can do a good code review so this,might take some time – especially if,youre really reviewing code that other,people are experts at but at a,fundamental level you have to understand,whats going on second second and third,point are going to be abuses,of software development pretty much,first is gonna be any abuse of memory,for all the old-school programmers you,probably know what Im talking about,they do free everything you need did you,like properly release all the memory all,the modern tools you dont really have,to worry about this but for all the,modern programmers that never have to do,keep management just make sure youre,not doing anything too crazy and too,dangerous,with any kind of operation one thing,thats very common is people do,unbounded database reads they could read,just like hundreds of megabytes maybe,gigs even into memory from the database,accidentally so just be careful about,how much memory youre using also with,performance its very very often the,case where like one line one line of,code could just make the performance of,a good web application turn into like a,shitty web application so you always,have to make sure dont disturb the,performance of the application are you,adding extra i/o calls are you adding,extra database reads are you doing crazy,amounts of logging anything that affects,performance of an application has to be,reviewed deeply fourth and fifth point,are going to be concurrency issues,slightly more advanced topic but,fundamentally its not that crazy you,just have to really simplify it theres,always gonna be concurrency issues what,exactly is concurrency well concurrency,is kind of like youre cooking in your,kitchen and everything is simple but,then you invite three of your friends to,cook in the same kitchen as you and then,things start getting really complicated,because everybodys trying to get to the,fridge at the same time so thats my,analogy but anyway concurrency issues,four and five there could be local,concurrency issues that you have to pay,close attention to this is what Im,talking about in the same process space,do you have a multi-threaded application,in the same process space doing unthread,safe things you got to be very careful,about that,the second type the second family of,concurrency issues are distributed,concurrency issues so again the core one,major point you to take extra care of it,is that concurrency can cause problems,with multiple threads of execution use a,shared resource and this is all over the,place in the distributed application,just even the most basic application,youre gonna share a database youre,gonna share cache all these shared,resources have to be utilized properly,in the distributed setting with lots of,computers – so again concurrency issues,big sound advanced but its really not,that advanced you just have to make sure,local concurrency is it accommodative,for is everything thread safe,distributive concurrency are you taking,care of the shared stuff alright number,four number five all right moving right,along just about halfway there number,six is gonna be how risky is the change,you definitely dont want to be the,person who breaks the production who,breaks you know breaks down brings down,the whole website but similarly you,dont also want to be the person that,reviews the code that goes and breaks,production both are bad so if a change,is very risky,you do have to take extra precaution,because you dont want to be the person,breaking stuff too often so make sure,theres defensive measures in place to,handle the risk make sure of some things,in the critical path ask yourself does,it really need to be and the critical,path thats been neatly azz quite a,number of times and also monitoring and,observability so many programmers forget,to do this they just implement their,features push them up but they dont,even know how their feature is working,if somebody makes a change you have to,be able to monitor the change its just,kind of common sense but it goes
Code Review Checklist
heres the list of code of your items so,that when you walk all check what of you,could simply scan this code review,checklist and see which items you want,to follow enter in the code of view so,first looking do have the proper logging,in place you should not have too much,logging especially for patients that,happens a lot but for single time,operations or when you want to,troubleshoot you should have the proper,logging at the proper level for that,purpose we have item 2 which is the,monotonic which is much more scalable so,if you have hundreds of servers you will,probably want monitoring or either,mountain above logging but logging would,be a lower case scale when you have,added feature to your codebase,how would you should ask yourself how,would that feature scale with increased,load traceability ask yourself what if,some problem happens could a trace were,this problem originated which is close,but not exact like troubleshooting with,troubleshooting which would ask yourself,if a problem happens what are the tools,that I provide to me and other,developers it could be documentation or,procedures for finding the root cause,reporting,many times you have new application,reporting should this feature affect,reporting if yes and you didnt handle,the reporting then maybe you want to,update the reporting as well,you eeks shoot this feature affect the,uux notice that in many times we have,coded the features but we didnt really,code everything so we didnt code,logging the monitoring the scattered,visibility troubleshooting the reporting,so according to us is not only the,feature but its also the UX maybe maybe,something should change in the UI and,you didnt notice it incorrect public,definition maybe this should be item,number one is this feature solving the,real problem or is it solving only what,was presented in the task these are two,separate things time management by the,way when we do the color of view how,much time did it take to code it or how,much time is left is it as we,appreciated it to be in the original a,task estimation this is going to be very,interesting to see in code of view and,why this happened,ignoring other features maybe someone is,already coding the exact feature you,should take care of it or maybe this,feature is affecting another feature so,its time to raise this question when we,do the code of your even before but also,in the code of view is this feature,affecting other features that we have,ignored focusing on today needs a this,might be a correct way to do a task to,focus on what is required now a assuming,you have added to the backlog the future,needs but in many times we are sacrifice,in the future for today so we are taking,like a loan but still you should check,if maybe we focus too much on today,needs and not on the future alerting and,metrics if something that happens that,we want to be alerted about than resin,alert and that should not be on one,should be on an aggregation of a wall,usually in many cases not always but in,many cases testing did we do the proper,testing the proper testing means not too,much testing and not too little usually,its better to have component tests and,for component tests we want to test like,the most end to end feature testing,which is not an integration test so that,you can watch it run it as part of the,UI tests and notice the global,integration test so in this episode Im,just scanning everything if you want me,to elaborate on something just give me a,comment deployment is dis affecting,deployment and did we take the proper,measurement for affecting the deployment,for example when we deploy how do we,test it how do we know that it actually,walked so this could be something that,should be added to the code the code,cleanup of course when we say code,review the immediate thing that comes to,mind is called cleanup but its also,very important to I think the most,important thing is the naming of stuff,and how easy it would be for other,people to manage and handle this code,because if we just made it,complex mmm not sure its the right way,latency did we do something that,increases the latency by much we should,take care of it,for example regular expressions and,stuff like this,it was the report design review on the,future because if not we might have,coded that something that we should,rewrite was there a customer review did,any customer check it a concurrency did,we do any extreme concurrency or maybe,we already also introduced concurrency,bugs so if there is any concurrency in,the code or its related to anything,cause all it should be concurrent and,its not then you should take care of it,simple bugs like ifs and stuff did you,handle the cases and stuff like this,mutation if youre doing mutation two,variables,you should check if you could use,immutability which would help in general,both to understand the program and also,to handle concurrency with the ability,of course if the code is readable naming,well dimension documentation,documentation take the most important,thing is to say the motivation for the,feature and the motivation for this,design because matters when you look at,stuff and code and features you see them,but the thing that we would most help,you is to understand the motivation what,caused you to name this feature like,this audit many times you want to know,the series of operations so if you edit,the feature that adds permission to a,user and this is the feature then maybe,you want to audit and to have like a,list of this guy has used this feature,this guy has added the permission this,guy has removed a defamation security if,you are mainly if youre dealing with,the entry points like the web services,the worst end points take care of,security should validate stuff if you,have a complex if-then logic then you,should think if it could be simpler,if youre breaking for loop this is some,smell that you should think whether it,should be the right case negative logic,if you do if and then not some condition,this means that you have dont have the,right name in your code and should,prefer positive logic in general not,always if you introduce some new works,or updating some existing regular,expression this could cause some issues,you should check it maybe on large-scale,inputs nulls do you have nulls in the,code what happens if you have not in the,code more than three arguments usually,when you have something with more than,three arguments this means that the body,of the SHA function is doing too many,things when its doing too many things,its time to rethink that piece of code,also line length if the line length if,the line is too long not saying 80,characters maybe 150 characters if its,longer than this then maybe youre doing,too much and its too complex to handle,it you will notice that when you compact,the line length some other things will a,pop up which will make the whole feature,you could even redesign the feature when,you reduce a line this happened to me,shared resource says and abuse lets say,you have one variable or one global,stake like all the users of the system,and you accesses for multiple points,this should be handled with care if you,introduce a cast make your server maybe,act faster what is the trade-off did you,think really about the dread of what if,the underline that changes how that,cache invalidates a check if your,variable names are too long the commit,message would be I usually take her that,the single there is first single line,which is not too long not too short and,describes it so that when you,you get log with – – one line you will,see concise log messages squash if,needed if you had like 20 commits or,five comments then when you do the final,push or commit maybe should squash it so,you can revert it easily build time,changes notice that if you add tests and,stuff like this if you increase the time,to build the project by five minutes or,something like this its not good check,if you could not increase the build time,if you use the random new random and,then and on
More: our place pan review
Brief Overview – Code Review Checklist – with Sample Document
the code review checklist provides,company guidelines for checking code,including pass fail parameters and,recording applicable comments when the,specific test fails for subsequent,correction,there are many other objectives of code,review as delineated on the various,pages of the document,lets walk through a professionally,prepared document,well step through the elements in this,typical document available on sdlc forms,starting with the cover page,so you can envision all the topics that,contribute to a successful document,each item in the checklist consists of a,check box to be checked when the item,has been completed whether pass or fail,a description of the item pass fail,check boxes and a comments column to,indicate why the item has failed,note that the items in this document are,easily added changed or deleted to,conform to your specific needs,this page contains the items for,variables style and architecture groups,this page contains the items for,arithmetic operations and loops and,branches groups,this page contains the items for,defensive programming and,maintainability groups,this page contains the items for,requirements and functionality,system and library calls reusability and,robustness groups,this page contains the items for,security and control structures groups,this page contains the items for,resource leaks and error handling groups,this page contains the items for timing,and validation and test groups,this last page contains items for the,hardware,group many of the 120 fill-in forms,available in our inventory are not shown,on this page,these forms are all based on the,microsoft office suite of word excel,powerpoint physio and project,you may search on your browser for any,of these forms,these project management forms can be,branded to your organization by,customizing numerous parameters,including your company name and logo,copyright statement and more,as with any office document you can then,optionally make changes to the content,at any time,our project managers business analysts,and technical writers have been adding,forms and templates to our ever,increasing inventory since 2007.,to view our inventory type in the name,of the topic on this page into your,browser to view information on,professionally developed packages and,individual forms
More: kaegreel shoes review
Code Review Checklist
Hi xin chào các bạn trong video clip này,cô sẽ hướng dẫn các bạn này một cái kỹ,thuật đó là cốt review Translate Thường,thường thì mình sẽ nghĩ rằng là lười,view quá là sẽ review đốt thì mình,review một cái tài liệu nào đó Nhưng mà,đối với cốt Thì trước khi mà mình chạy,thực tế cho mình xem cái iPhone như thế,nào thì mình cũng có thể thực hiện các,công đoạn là review lại để xem coi trong,biết quá trình Cốt nó có sai sót gì hay,không thì đây là một cái sample general,or reviews Christmas anh thấy quá trình,preview nếu mà mình review một cách,random Thế là mình đọc cốt xong sau đó,mình mình dựa trên cái cái Thiên Kim của,mình cái suy nghĩ của mình và mình có,thì có thể mình sẽ bị thiếu sót bằng,cách gì sử dụng các chức năng này là,mình gần như là mình ko vợ được tất cả,các trường hợp Ví dụ như đối với vấn đề,dai khi mình sẽ xem coi là,ở nhà đưa xunit Yemen ở single Monster,làm kiểm tra xem một cái đơn vị nó có,phải là thực thi một cái cái hạt Đơn Lệ,20 ATI Square inch unsp partition tất cả,các trường hợp với các cái tên đó,có được chia phân chia hai định nghĩa,như thế nào anh không Tức là cả các,về phần thiết kế thì xem coi nó có các,thể hiện của các cái,có thể là các cốc á Cái Yên bạn là biến,A được code consistent with the third,day Thế là cốt có đồng nhất với cái,thiết kế hay không Hay là cốt Có cover,được cái thiết kế hay không đối với vấn,đề đa ta thì mình có thể check xem là,cái input đó có được kiểm tra được cái,tính hợp lệ hay không đối với y cũng,kiểm tra lại cái hướng nào Ramen,spinelli hoàn lại hiện trai hay là cái,biến là tất cả các biến có được sử dụng,hay không á Đối Với cái tính toán thì,mình có thể là aid communications you,seen variable with inconsistent with,that time hết làm phép tính toán và sử,dụng các biến có đồng nhất có kiểu dữ,liệu hay không Hay là,aesthetic value of smell and Right Hand,expression Tức là cái giá trị ta ghét,nhỏ hơn khi giá trị giảm bên tay phải,cho lại ép giá trị ha Thì bằng cách sử,dụng các chất clip này mình sẽ review,Tất nhiên là không phải cái chiếc bếp,này với cái cốt của mình là mình dùng,hết các chất rắn này đâu mà có thể là,mình sẽ dùng một vài cái mình sẽ review,đi qua Mà cái nằm có thì mày sẽ dùng,ghim lại liên quan đến cái cốc thì mình,sẽ review Còn nếu không có thì mình sẽ,đi tiếp qua ha,thay đối với control-flow thì mình sẽ,check những ví dụ như là chương trình,Cái môđun và cái unit có bị ngắt thường,xuyên 20 ha có vòng lặp vô tận hay không,Nè là đối với inter face là đây là đối,với input a phút là sẽ có nhỉ anh như,thế này mình sẽ chết tất cả các hạng mục,đó để xem cái cốt mình nó có đảm bảo,được chưa hay đối với cái tính vấn đề về,portability vấn đề về angimex vấn đề,việc comment vấn đề bài cốt Lê vấn đề và,mentions,gần như là tất cả các công việc cái Nếu,mình có một cái chép nét sắc thì mình sẽ,cover được mà mình sẽ không bị thiếu sót,Đây là một cái cốt được ghi chép trong,một cái chương trình suy Ví dụ như đối,với nem tai tâm thì tất cả các biến có,đặt tên và phân biệt hoa thường hay,không có được khởi tạo hay không có đồng,nhất hay không hay đối với khách hàng,hay đối với các cấp hội tơ là con chở,hai đối với các controls in practice,Rosy Collection hoặc là tính toán,bây giờ mình sẽ thực hành một cái hệ,thống gọi là hotel management system thì,ra một hệ thống quản lý khách sạn thì nó,thế là loạn mà cơ động luôn hai cô sẽ,lấy một cái đoạn cốt của nó và các bạn,sẽ thực I love you,hệ thống quản lý khách sạn này được phát,triển để đáp ứng những cái yêu cầu về,Diamond swiss within the hotel ministry,trong Công Nghiệp Quản lý Khách sạn đúng,ông hệ thống sẽ cho phép là cái cái,phòng mà nhận làm khách hàng quản lý tất,cả các record nó là cái dữ liệu về các,khách hàng của họ và các thanh toán bằng,một cách dễ nhất có thể,anh ở một khi mà Christmas We enter tức,là nhập đúng password thì cái quy trình,nào verification Rất là thẩm định và,thông đánh giá thông tin có hợp lệ hay,không will take place at the back and,size sẽ đưa về phía bắc em rất là phía,server để kiểm tra và ép enterpass,welcome các loại bắt buộc đúng hạn Mira,Jack tuna fashion admin sẽ chuyển các,chàng là log in đó sang một cái trang,tiếp theo qua đêm wavin to handle the,BTS PT nơi mà mình có thể xử lý các yêu,cầu nghiệp vụ sử dụng cho hệ thống máy,tính,bây giờ để các bạn hình dung rõ hơn thì,cô sẽ vào cái trang,YouTube của mình ha đã các bạn sẽ hình,dung được cách mà à chị sẽ làm việc,anh,ở đây thì các bạn sẽ vào trang,này à,anh ở đây các bạn sẽ thấy là đây là cái,trang tuần 13 hệ thống nè ta tí testing,tịch nước AD hotel Manager assistant các,bạn sẽ Download tục cốt ở đây sao,đây là suốt mấy bận đi thì các bạn sử,dụng các cái code review taxi sẽ có bạn,kiểm tra xem Ví dụ như các biến các cái,con sân các bạn sẽ làm một cái bản chat,xem là,trong cái cái cốt của mình nó sẽ có cái,điểm nào mà nó chưa Được không Được thì,bạn sẽ thắc nốt vô ha Đừng các hạng mục,nếu như tất cả các cái hạt mục đều ok,hết rồi thì lại có thể tạm tiếp qua các,bạn sẽ đánh chết vô cho cô ví dụ như là,cốc review xe đang tất cả các hạng mục,này các bạn sẽ cháy của trong đó mà các,bạn sẽ sống lại có thể có một cái file,Excel cũng được các bạn sẽ cần hạn một,ví dụ người ta say tâm thì ôm variable,khi chưa thì cả nếu rồi thì họ sẽ draco,còn nếu mà anh sẽ nói về những trường,hợp là chưa lokhung2 có những trường hợp,nào biến chưa được khởi tạo thì họ sẽ,khác nốt ở dòng máy khổ máy biến chưa,được khởi tạo Chẳng hạn khi đó là khi,cách mà mình sẽ review và mình sử dụng,review list để mình đảm bảo khi quá,trình đặc biệt của mình được đáp ứng cảm,ơn các bạn đã lắng
Assessing the Students Understanding and their Mistakes in Code Review Checklists
hello everyone im chong from monash,university,and id like to present our work today,entitled assessing the students,understanding and their mistake in code,review checklist,and experience report of 1700,code review checklist questions from 394,students,joining me today is peek from the ucl,melbourne and also cla from monash,university,so first of all id like to discuss,about the motivation of our work,we like to investigate how can we,actually improve the way,code review is taught in new,universities,so i think its widely acknowledged that,code review is one of the most powerful,and,reliable way for software developers,to identify potential software defects,before the code is approached to the,source code repository,however teaching code review is still a,very challenging task,mainly because the effectiveness of code,review,heavily relies on the uh experience,analytical skills and also reading,skills of the reviewer or in our case,the students so,we found that checklist based code,review can be,one of the valuable way for students,especially in experienced students to to,learn,how code review can be conducted because,the,checklist encourage the students to,focus on important issues or defects,during their evaluation,so on the right hand side is an example,of the googles engineering practice,documentation,where the reviewer are provided with,some question,focus on some specific defects,so check this base code review although,it is useful,it might not facilitate development of,the students,analytical skills to protect to,anticipate to anticipate potential,issues this is because if we were to,provide,the the uh checklist to the students the,students might just follow it blindly,and it might limit their creativity and,they might not think of the box,so worse is that the students might not,even,understand or appreciate the key,motivation behind,the checklist based code review exercise,so another problem that we identify is,that generally,in the industry seniors off at that,purpose,they dont really have a physical check,code,review checklist instead this the,reviewer,they have to depends on their own,experience and knowledge when they are,performing,a court review so basically they are,just fusing their own mentor checklist,when they are performing code review,so in this research we want to,investigate can we actually,get the students to develop their own,checklist,and this might be able to help stimulate,their critical thinking skills,however we are still unclear whether,the students can can predict potential,issues when they are preparing the code,review checklist,uh and also whether these checklists,prepared by the students are they,actually useful or not so these are the,two research questions that would like,to investigate the first one is,can they check how to what degree the,checklist prepared by the students,can be used to identify the facts during,code review,by answering this question we might be,able to uh,get some idea whether or not getting the,students to,create their own checklist can be part,of the uh,syllabus when we are we are offering,code review,related subjects to the students in a,unic environment the second question is,what are the common mistakes in student,checklist,by answering the second question the,educators,can help identify or address the the,potential mistakes or misunderstandings,when the students,are preparing the code review in order,to facilitate the learning process,so we have prepared a code review,assignment uh,in the following manner in order to,answer the two questions first of all,the students are given requirements,specification and screen markup of a,particular case study,so this is an example where we have,provided some software requirements,specification,followed by the screen walk-up following,that students are required to create and,submit their code,code review checklist based on artifacts,given to them,okay so this is an example of the code,review uh checklist submitted by the,students they can put it into different,categories if they want to,but each of the checklist question is in,in a question format,so based on that they are they will be,given the actual,uh code artifacts to be reviewed so this,code are actually embedded with some,defects,and students are required to prepare a,list of identified issue,based on their own checklist created in,step two finally they will be discussing,in a group,to to discuss whether or not this check,these,defects that have identified are they,actually false alarm,or are they actually genuine defects so,they get to take turn,and defend their their findings,so this is the analysis result we,actually performed the study,across two campuses one in malaysia and,one in australia,and uh it spans across two years 2018,and 19.,we got a total of 1791 questions from,394 students across the two study,cohorts,so in order to answer research question,one,which is to what degree can the,students checklist be used and they,find the facts during code review,we analyze the type of defects that the,questions,prepared by the students uh by putting,by trying to categorizing them,into different technology into into,taxonomy so this taxonomy was actually,proposed by,mantilla and uh the montana actually,proposed a taxonomy of defects where,the authors categorized the defense into,categories such as document,documentation defects,measure defects structural effects and,so on so if the,if the checklist question prepared by,the students,are indeed useful they should be able to,uh put into either one of this category,of defects so we use this taxonomy,proposed by mandela and we actually,perform manual coding,among all the orders so as a result we,found that 76,of the checklist question can indeed be,used to,identify the facts or more specifically,70 70 percent of the checklist question,that produced by the students are,actually very clear,and can be used to get reviewers to,identify the common defects,so this is a breakdown of the,results that we have got so you can see,that most of the students actually focus,more towards,obvious defects such as structure,defects and also documentation defects,not much on these large defects,um that helps answer the first question,where,research question when we identify that,indeed this large amount of uh,which is 76 percent of chinese question,can actually be used to identify the,facts,and with regards to the second research,question what are the common mistakes in,the student checklist,we have identified 425 in appropriate,checklist question,which is 26 of the all the checklist,question,so most of these checklist questions are,unclear,and irrelevant so this partly stem from,the misconception,about the quality quality specification,of the code review checklist,we found that some of the students are,focusing on,testing related checklist question and,also static analysis related checklist,question,so these are not really suitable,when we are performing code review so,these,issues can be uh addressed,and we we think that it can be,modeled as a scaffolding activity,where we actually can get the students,to demonstrate their understanding of,code review,by getting them to develop their own,checklist following that,educators can understand the,misconception among the students,and then from there we focus uh some,certain guidance to correct their,misconception,and this can be an iterative process to,help improve the way,how code review can be conducted in unc,environment so thats all for our,presentation thank you very much
How to Review Code | Best Practices | Pull/Merge Requests | iOS | Swift | Checklist
hey guys welcome to my channel ipod i am,pillov and today we are going to talk,about code review and best practices,so the quality of your app your product,the performance user reviews and ratings,on the app store play store all these,things directly depends on how good was,the code review you might think that we,have qas and testing process in place,for ensuring the quality of the build,then how does it depend on the code,review but as a developer we understand,that there are many things which can be,skipped in the qa cycle in the testing,process and they can directly start,reflecting on the app store build on the,live build so code review is the only,thing which can track those issues which,can fix those things which get skipped,in the qa cycle but can be caught by a,developer i remember that once a guy,messaged me on linkedin and he was,trying me to show his work he was trying,to prove that he is the developer of,that app so he asked me to download the,app from the app store and under the app,settings tab 10 times on the version and,a toast will appear with his name,although i didnt try it but whatever he,was saying if that was true then it,clearly means that his code was not,reviewed so such things can happen,intentional or unintentional crashes can,be introduced overall quality of the app,could be reduced and a lot of things can,happen and code review is the only thing,which will track these things which will,not allow such code to be shipped on the,store and which will overall ensure the,quality of your product so ensuring the,code quality is one thing but apart from,that code reviews are even more,important when it comes to learning we,get to learn from each others code that,how other developers are writing the,code what is their approach how are they,doing the things how can you improve and,i can speak for importance of code,review for ours so lets not go that,route and lets see that how can we do,code review,the ideal and the preferred way for,doing code review is using pull request,or merge request well the name depends,on the platform that you are using like,github gitlab bitbucket but the concept,remains same of the pull request so in,this video we will see that how can we,create a pull request and then we will,go through that pr we will point out the,things we will give suggestions we will,approve or decline the pull request,depending on the code quality and,through this we will see the best,practices that should be followed and,how code review should be done so by the,end of the video we will be having a,checklist for the things that we should,keep in mind while reviewing the code so,lets get started,so here i am using bit bucket for the,demo but in your organization even if,you are using github gitlab or any other,source control system well that doesnt,matter because the things will remain,same maybe ui can change a little bit,the placement and the positioning of the,options can change but most of the,things will remain same so what we are,going to do here is that i am having,this repository that is code review demo,which i created for for this demo,purpose and im having different,branches here so one is my develop,branch and one is my feature branch so,what im going to do is that im going,to create a pull request from this,feature branch against this branch that,is developed,so treat it in a way that when i started,working on the feature i created a,branch from the develop branch and now,my work is done so i want my branch my,code to be merged back into the develop,branch so that is why i will be creating,a pull request or a merge request from,the feature branch against the develop,branch now the point comes that how will,the code review happen,i mean i will create the pull request,but someone can directly merge it or,even i can merge it so there should be a,policy there should be some rules,imposed that i need certain number of,approvals only after that my pr can be,merged into the develop or i need an,approval from some specific person maybe,your team lead so all those rules can be,imposed all those settings can be done,here from the repository settings so in,the repository settings when you will go,to the workflow there will be branch,permissions,under branch permissions you can select,any specific branch and then you can set,rules on it so if i go for adding a,branch permission and then ill select a,branch ill type the name of the branch,so if i want to impose it for the,develop branch it can be released it can,be developed it can be master whatever,names whatever branch you are using,and then i need to give the right access,now merge via pull request and now here,are the merge checks so whatever checks,lets say that check for at least one,approval that ill need at least one,approval before merging my branch i can,set it from here,or there are other settings too which,can be done so now even if i will save,it it will not work because this is the,free account that im using but of,course your organization will be using a,paid account so then the merge checks,will be applicable over there here you,can see that i need to upgrade to,enforce the merge checks but what i,wanted to show is that you can do the,settings you can you can impose such,rules now lets go for creating a pull,request and see that how the code should,be reviewed so lets go back to the pull,request section so here we have a bunch,of options and one of them is pull,request so under pull request you can,see that none of the pull request is,open as of now because i havent created,one although you can track the previous,requests from from these settings like,open merge decline and all that so ill,create a pull request,and,here ill select the branch that is to,be reviewed i mean that is to be merged,and here ill select the branch against,which it is to be reviewed or in the,branch it is to be merged so here i will,select develop because i want my code to,be moisture developed and this is my,feature branch that is to be merged now,as soon as you will select these,branches this description section will,automatically start reflecting your,commit messages so either you can use,the same commit messages as the,description or maybe you can change it,and you can you can make it more,meaningful for your pull request so for,now im im just,writing a dummy message here,dummy,description,but this should be meaningful so that,the reviewer comes to know that what has,changed in this pr what have you done,and then you can upload the attachments,i mean you can upload the video or maybe,you can upload the screenshots for the,changes for the fixes that you have done,or the feature that you have implemented,and then you can select the reviewers,from your team if you want the code to,be reviewed by any specific person and,if not you can leave it blank and then,we can create a pr using create pull,request but before creating the pr i,would suggest that you always go to the,differences section and check for the,code once through this you can verify,that only intended changes are going in,your pr and nothing else i mean there,should be no change which i do not,wanted to make that was not intentional,yet it is there in in my pull request,and then the reviewer can point it out,so this is one thing that you should,check,and after that you can create a pull,request now once the pull request will,be created the reviewers will be,informed through mail or maybe some,other channel that is in place and then,they will start reviewing the pr so let,us go for it so in the pull request,section,now we are able to see this pr earlier,there was nothing because no pr was open,for review now this is the pr that that,we need to review so lets go here,and now lets start reviewing so now we,will see this code from the reviewers,point of view we will point out the,things which are going wrong the best,practices that have been used we will,suggest the good practices we will ask,the the developer i mean the one who ha
L06 09 Peer Review Checklist Template
heres an example peer-reviewed,checklist template,that can be used for perspective-based,reviews,its intended to be customized as needed,so consider it a starting point,before the review starts the code needs,to compile clean,with extensive warning checks if there,are,any unresolved warnings then its not,time for a peer review yet,those should be resolved then during the,review,reviewer number one looks at a few lines,of code at,a time and for each set of lines of code,considers the following items,going down the list are the comments,appropriate,is the style consistent and in keeping,with the style guidelines,is there proper modularity are there no,orphan code segments,are there improper use of conditional,expressions,are parentheses used properly to avoid,ambiguity and operator precedence,and are the switch statements structured,properly,some of these items might be able to be,checked by static analysis,and to the degree that your static,analysis tools support that,its okay to take those items off this,list and replace them with other items,that matter to you,the reviewer should not be spending time,redoing something a tool can do,but not all development environments,support really robust,static analysis so these are on a list,just to make sure the basics are covered,as reviewer one is looking at a handful,of lines of code and going down,the first seven items reviewer two is,looking at the next,set of items reviewer number two is,asking,is there a single point of exit from,each function does the looping structure,make sense,does the code avoid deeply nested,conditionals,is the complexity of the code acceptable,has the use of macros,been reduced minimized or even,completely eliminated,is there an avoidance of the use of,magic numbers constant values embedded,in the code that should,instead be defined as named constants,is strong data typing used to the extent,that is appropriate,and do all the variables have well,chosen names and are they initialized at,or near definition,and again the initialization is,something your tool might be able to,handle for you,at the same time on the same chunk of,code reviewer number three is asking,yet another set of questions reviewer,number three is looking at whether or,not the variables and functions have the,minimum scope,and essentially no global variables,where the concurrency,issues have been addressed whether input,parameters have been checked where their,error,handling works whether exceptions such,as null pointers division by zero,null strings boundary conditions have,all been handled properly,whether there are any floating point,issues especially with not a numbers and,infinities,and buffer overflows all reviewers also,think about does the code match the,detailed design,and is the code as simple obvious and,easy to review as possible,this checklist is designed for three,reviewers if only two reviewers,are available then the checklist can be,split in half,using this list helps you get breadth of,coverage,if all three reviewers use a different,portion of the checklist,theyll have a better broader,perspective,and therefore are more likely to find,defects in the code,during the review process