code review checklist

Geplaatst op

This website uses cookies to improve your experience while you navigate through the website. In this case, understanding code means being able to easily see the code’s inputs and outputs, what each line of code is doing, and how it fits into the bigger picture. So, as a general practice, always do a null check on a variable before any operation. The code should be easy to read for any developer and must be self-explanatory. Which made think of creating a generic code review checklist. Category. Your code should be able to fit a 14-inch screen so that when imported to other monitors, it is readable. The deadline and time taken to complete a code review are two leading reasons for developers ignoring it. If documentation is an important part of your engineering culture, including it in … Code design should resonate with earlier products and software of the same project. Great article. Also, you can use it as a self-check before putting on review which is good practice in my opinion. This approach has delivered many quality issues into the hands of our clients, which has helped them assess their risk and apply appropriate mitigation. Input boxes must handle all arbitrary strings as well. We know NullPointerExceptionis the most common exception in Java and can cause big problems. It should have necessary headers, response messages, error codes and any other necessary details attached with it in required format. For manageable I would add well named objects. This page provides a checklist of items to verify when doing code reviews. During a project, this document is used by team members as follows: 1 During project planning, it is utilized as a reminder for how much review … A good quality code has low technical debt and requires the least help in future development and manipulations. Does a software module duplicate … Regardless of it being a negative, over-sized, invalid format, etc., every input passed should be processed, sanitized before taking it further. Significant steps and instructions should be commented on for better understanding, while comments that are blockers should be removed. Follow the DRY principle  (Don’t Repeat Yourself) and code with no duplication. An Ideal Code Review Checklist that applies for most programming languages. to refer this checklist until it becomes a habitual practice for them. You can delete all comments and retrieve them from an SVN file if needed. Hello guys! No compiler warnings arise while running the application. Check if the code is easily readable, easy to understand, and is highly manageable. While you don’t wish to miss any step, you should always make sure that you must do checks that are more essential before those that do not contribute significantly to, Check if the code is easily readable, easy to understand, and is highly manageable. It is friendly formatted and easy to read/understand. Here are three points I offer, not as criticism, but as discussion points. Checklist Item. Make sure that you use proper terminology and code is aligned with appropriate spaces. I have a Code Review checklist I use for the review of my code as well when I am on the other side as a Code Reviewer. 3. We review it periodically and add or remove issues as necessary. For this, try using interfaces while communicating between layers. Article Copyright 2016 by Ebenezar John Paul, Last Visit: 31-Dec-99 19:00     Last Update: 29-Dec-20 10:38, Download PDF version of the article - 667.2 KB, https://smartbear.com/learn/code-review/what-is-code-review/?q=code+review, http://www.evoketechnologies.com/blog/code-review-checklist-perform-effective-code-reviews/, http://www.codeproject.com/Articles/524235/Codeplusreviewplusguidelines. Having a child class should not change the meaning of the parent class. Dependency Injection: Create dependencies outside the class and inject them into class in appropriate ways. If there are third-party tools or libraries used, then the licenses and legal usages are verified and complaint. Code review is often overlooked as an ongoing practice during the development phase, but countless studies show it's the most effective quality assurance strategy. Lastly, before beginning the code review process, you should always estimate the time required to do all checks in code review. CTOs outlook on the code review process and how to optimize it for your team? Methods are not too big to manage and they don't exceed readable size. Studies have shown that code reviewers who use checklists outperform code reviewers who don’t. This category only includes cookies that ensures basic functionalities and security features of the website. The code follows the coding conventions, standards and is consistent with the existing application code. From minor to major checks, CodeGrip scans all your code and indicates all the errors, code vulnerabilities, and code smells that you can fix to improve your code quality. First, there are some things that I specifically do not put on a code review checklist: Anything that will be caught by static code analyzers. To perform all these checks flawlessly, we recommend our code review tool CodeGrip. The code needs to be split into different layers – presentation, business, and data layer as per requirement. Further, the expectation from the software on performance, methods used, technologies implemented, and the result at the output should be noted first. Floating-point values should have sufficient precision. The more code … Interface Segregation Principle: No client should be forced to depend on methods that it does not use. Every object is checked for its actual data existence before accessing its properties. Save my name, email, and website in this browser for the next time I comment. The comments should mark the start and the end of non-blocking code, partially blocking code, and benignly racy code (see Dc.8 and LI.5). A code review checklist can make your code review practice so much more beneficial to your team and significantly speed-up code reviews. Documentation. The team needs to lay down some measures that developers and reviewers must follow while reviewing. You can delete all comments and retrieve them from an SVN file if needed. ; what type of input is allowed, and if not received what case to follow? Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. While you don’t wish to miss any step, you should always make sure that you must do checks that are more essential before those that do not contribute significantly to technical debt. The design pattern defined earlier must be the reference when judging architecture. Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages. OOAD principles are: Single Responsibility Principle: All classes should have one responsibility, or just one function in a class or a method. Take your time. Code reviews are very much like the editorial or copy review process that companies creating customer-facing content have in place to ensure content is produced free of defects, aka typos. External libraries are used only if proven necessary for the application. Overview Example of a Code Review Checklist As outlined in Tips for an Effective SAP Commerce Cloud Code Review, it's important to be able to deliver code reviews consistently across your team. So they don’t bother trying and they wait for feedback at code review time.? There are no commented code and hard coded values. General code review checklist considerations. And I decided to share one of them for the code review. In simple terms, it does what it is supposed to. Lastly, before beginning the code review process, you should always estimate the time required to do all checks in code review. If in the case of network loss, handling of the input needs to be done correctly. Especially, it will be very helpful for entry-level and less experienced developers (0 to 3 years exp.) There will always be more points to add to this list. Significant steps and instructions should be commented on for better understanding, while comments that are blockers should be removed. Let’s kick things off with some high-level checklist items. The deadline and time taken to complete a code review are two leading reasons for developers ignoring it. We also use third-party cookies that help us analyze and understand how you use this website. The code is secure in terms of authentications (with encryption), injections, roles, unauthorized access, directory browsing, SQL injection, cross-side scripting, etc. These cookies will be stored in your browser only with your consent. Given enough eyeballs, all bugs are shallow. This list is language-neutral, and you can use it for most programming languages without having to create significant changes. Code becomes less readable as more of your working memory is r… Code review is a necessary process that can be done by following these points, which is again a challenge to do manually. To perform all these checks flawlessly, we recommend our. We also encourage programmers to keep their own version of the code review checklist. The code is readable, commented and easy to manage. You should do the formatting of the code in such a way that it is readable. These principles are a few checks that will make your code much more efficient. This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL), General    News    Suggestion    Question    Bug    Answer    Joke    Praise    Rant    Admin. Try using generic classes, functions, and components that can be reused. Generic Checklist for Code Reviews Structure Does the code completely and correctly implement the design? This is a check for output producing the ability of code. The code review process varies from company to company, but at a high level, it goes something like this: Step 1: The C… There are no long delays between the requests and responses. Code Review Checklist. Your code should be able to fit a 14-inch screen so that when imported to other monitors, it is readable. The main idea of this article is to give straightforward and crystal clear review points for code reviewers to review efficiently with least time possible. You should do the formatting of the code in such a way that it is. DPM 9.9 Codes. Checklist for Conducting Code Review Following list of questions remains quite helpful to the code reviewer. Setting the design standard is highly essential before beginning the code review process. Readability in software means that the code is easy to understand. milestone and updated in each future submission per the . It is recommended to go for every good to have points while reviewing after making sure the primary checklists are checked. There should be no race around the condition. There is no one size fits all for code review checklists. The code should follow an architecture throughout the whole program to be uniform. Thanks for Sharing, some handy information! We'll assume you're ok with this, but you can opt-out if you wish. The ultimate purpose of code review is to investigate the code to find weak spots, faults, strengths and ways to optimize the code for better performance. Code Review is an integral process of software development that helps identify bugs and defects before the testing phase. That Code Review checklist is the basis for the techniques I share with you in this article. General. a) Maintainability (Supportability) – The application should require the … Connections, ports are closed properly. ? A checklist makes sure that you don’t forget anything. The purpose of this article is to propose an ideal and simple checklist that can be used for code review for most languages. I use a lot of checklists in my work. Instead, create smaller interfaces based on functionality. Open Closed Principle: Existing code should not be altered when new functionality is introduced. If you enjoyed this post, consider subscribing to my email list. It follows the OWASP 10 security principles. Uniform Code Compliance Review Checklist, shall be completed by the Consultant/designer(s)-of-record, reviewed by the OGS PM, and submitted at the first post-Program Report. If there are any design changes required, ensure that these are documented, baselined and approved before implementing them in the existing code. Remember all these principles are chosen according to your project, and a few may have an inverse relationship where if you follow one, the other gets void. Creating a code review checklist means you, and your whole team will have a codified reference point for your code quality, which will help streamline your code review process and ensure that the process is as refined as possible. Code review is a necessary process that can be done by following these points, which is again a challenge to do manually. A code review checklist, as well as clear rules and guidelines around code reviews, are crucial. 2. This checklist is made for beginners as well as expert developers, stating necessary and an ideal list to do a code review process. Especially under invalid inputs that come from the user end. We made this code review checklist according to the practices that are missed by developers while building software, and hence creating poor quality code. In order to help expedite testing, QA Mentor requires this document to be completed prior to accepting a code delivery. Logging in different stages for different purposes can be enabled/disabled in the configuration file (like web.config). See if any methods or blocks of code are not repeated in your program. All rights reserved. Does the procedure used in the module solve the problem correctly? It is mainly to deliver a bug-free (at least near perfect) application that meets the purpose (requirements) while meeting the industry standards. Home | Blogs | Contact Us |  Help Docs | Terms of Use | Privacy Policy © Copyright 2020 Codegrip. Code review most common aim is the improvement of code quality, making it maintainable. The code review checklists are illustrated in two parts: The code achieves its purpose. Performing these checks are hard, so using an automated code review tool like CodeGrip gives you an upper advantage. Customize your code review as much as you need to in order to express your creativity (Lyft uses emojis as commands). Logics make use of general functions without ambiguity. Code review best practices checklist. Code coverage is as important as the unit test cases passing. Ebenezar John Paul is a Software programmer & Blogger. Make sure that you use proper terminology and code is aligned with appropriate spaces. The Best Black Friday SaaS Deals For 2020. It … Resources are fetched and delivered only on demand. (function(w,d,s,o,f,js,fjs){w['BuildBubbles-Audio-Player']=o;w[o]=w[o]||function(){(w[o].q=w[o].q||[]).push(arguments)};js=d.createElement(s),fjs=d.getElementsByTagName(s)[0];js.id=o;js.src=f;js.async=1;fjs.parentNode.insertBefore(js,fjs);}(window,document,'script','w1','https://vasinl124.github.io/buildbubbles-audio-player-widget/build/widget.js'));w1('init',{targetElementId:'root'});w1('episodeid',{id:'5fe1b2423ff8eb0017a4d509',center:true}); The code review process is one of those processes that differs from team to team and different standards set by developers. 95% of the code is covered (which means 95% code is actually tested via unit test cases). The code is scalable and able to handle a large amount of data and upcoming features. Must read: CTOs outlook on the code review process and how to optimize it for your team? The Code Review Checklist is another tool for the development team to use to ensure the completeness of their code reviews. Title: CODE COMPLIANCE REVIEW CHECKLIST Author: Mary June Morrell Last modified by: kohlerj Created Date: 12/9/2010 6:28:00 PM Other titles: CODE COMPLIANCE REVIEW CHECKLIST The security code review checklist in combination with the secure code review process described above, culminates in how we at Software Secured approach the subject of secure code review. The code never breaks under any circumstances. The goal is to provide a consistent set of code review practices while allowing individual groups the freedom to take whichever approach they feel is best suited to the task. Confirming it builds and passes automated tests. All possible scenarios are tested to avoid deadlocks, timeouts, etc. Inspection rates should under 500 LOC per hour. It is a complex process, as seen in an earlier blog, and hence needs a code review checklist that every organization must follow before performing a code review. At the same time, that checklist will stop you from turning the code review into a … They help me to stay organized and not to forget things. If you feel anything could be improved, this is the time to do it. These cookies do not store any personal information. Codegrip takes care of all the tests mentioned above and many more checks. The opening comments should: The opening comments should: Justify the need for such error-prone code (which is a special case of Dc.1 ). There are a few points you need to take care of before performing a code review. This document aims to be a community-maintained and flexible guide to code review. The above checklist is vital to have a high-quality code that meets the requirements and performs at its best while being secure, scalable and swift. Code Review Checklist Threat Modeling Example Code Crawling %&' %&" '(('(" 3 A1 Injection A2 Broken Authentication And Session Management A3 Cross-Site Scripting (XSS) A4 Insecure Direct Object Reference A5 Security Miscon!guration A6 Sensitive Data Exposure A7 Missing Function Level Access Control A8 Cross-Site Request Forgery (CSRF) Our code review checklist is a living document. Nice article with perfect explanation and highlighting the main points on Code review. What Are Common Code Review Pitfalls And How To Avoid Them? Use checked exceptions for recoverable conditions and runtime … There is no duplication of code. It is a complex process, as seen in an earlier blog and hence needs a code review checklist that every organization must follow before performing a code review. Resources that are not automatically released after usage are freed. This includes things like PEP-8/flake-8 compliance for Python, or memory leak detection in C++ or similar. This gives you a reference to check if the code is done in the required way and if not, how far did it deviate from the expectations. But if you automate most of the feedback, they’ll learn in real time, correct, and internalize the lessons. You also have the option to opt-out of these cookies. Most code review checklists have?far too many items for developers to remember them all.? It is friendly formatted and easy to read/understand. For higher code quality, make sure you maintain four factors – code readability, testability, debuggability, and configurability. He loves to code and rethinks the conventional way of the world. Functions are reused wherever applicable and written in such a way that they can be re-used in the future implementations. Check for your code’s input parameters – can negatives be included? Re: Good list, and I'd like to add this one, Great article; a couple of discussion points, Re: Great article; a couple of discussion points, V.A.P.O.R.ware - Visual Assisted Programming / Organizational Representation. When reading through the code, it should be relatively easy for you to discern the role of specific functions, methods, or classes. But following this will make your code error-free, clean and of higher quality. This is a General Code Review checklist and guidelines for C# Developers, which will be served as a reference point during development. Well named objects simplifies, usually eliminates, any code comments. There may be other checks that you can use, but it depends on the requirement and complexity of the project. One way to improve your code reviews consistently is to create a code review checklist that you run through every time you review code. But please, for the love of users and QA testers everywhere, create some kind of code review checklist that your company, department, or project team can agree on. Re: For manageable I would add well named objects. Every core method has a unit test which passes. All the nonobvious logic needs to be covered by tests. While reviewing if any design changes are required, be sure to document, approach, and baseline it before implementing it. They are stored in a repository (as a file) as well as in the database (as text). Validations are used wherever necessary. Personalized checklists contain reminders that are important only to the person who wrote them (like section 6 is for me - see above). Let’s look at the comprehensive list to do a code review and build clean software. I like checklists. The code should be easy to test, in any way possible without failing even at edge cases. Now you know all the code review best practices to make the most out of code reviews. Becoming a better programmer is a continuous process. Sr. Code Review Questions 1. Reusability of code is a significant factor for reducing your file length and size, saving space, and also making the code much organized. Attachments should be included when specified by the checklist. The above code review checklist covers all necessary code review checks that one can perform while reviewing. This website uses cookies to improve your experience. Log every transaction or the ones that require logging. Verify that the approved architecture/design is followed throughout the application (If there is none, consider putting it in place). It covers security, performance, and clean code practices. Necessary options are available for dealing with huge data such as paginations, etc. The landing of the application is swift. I prepared an exclusive Code Review e-Book for my e-mail subscribers to help you remember the code review best practices. Does the code do what has been specified in the design specification? It can be tempting to tear through … Not just the error messages, every response that is returned by the server must be properly handled. Any difficulty found using the software by you, who wrote the code can be a bigger problem for end-users. Consider yourself as a user of the software that you’re Developing and question yourself if the UI of the software is understandable? Love the conciseness! If needed, reviewer may like to get clarifications from the code writer. The Ultimate Code Review Checklist The code review process is one of those processes that differs from team to team and different standards set by developers. These are practices that every team or CTO needs to do after the first draft of the code is complete. Linus' Law. Logs that are used while developing are cleared and none of the application information (especially the sensitive ones) are written in the browser console. So much so, that I posted a link to your article on my blog. Best "Everything Else" Article of November 2016 : First Prize. All methods serve a limited and clear purpose (follows DRY principle). If you are not convinced with user interface design, then start working on it with your team. This is a check for input taking the ability of code. Necessary cookies are absolutely essential for the website to function properly. Raw string concatenations are avoided and proper methods such as StringBuilder are used. Test plans should be present and executed, while unit cases should test all edge cases without failure. Does the code conform to any pertinent coding standards? Below is a sample code review checklist, which can be helpful when thinking about the parts of the code that need the most focus. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are as essential for the working of basic functionalities of the website. It is mandatory to procure user consent prior to running these cookies on your website. Manageable [Crisp and Formatted] The code is readable, commented and easy to manage. The Code Review Checklist provides a company guideline for checking code including pass/fail parameters and recording any comments when the test fails. Liskov Sustainability Principle: Having a child class should not change the meaning of the parent class. ; what is the range of input? But opting out of some of these cookies may have an effect on your browsing experience. Even though there are a lot of code review techniques available everywhere along with how to write good code and how to handle bias while reviewing, etc., they always miss the vital points while looking for the extras. Non Functional requirements. Java Code Review Checklist by Mahesh Chopker is a example of a very detailed language-specific code review checklist. This is to ensure that most of the General coding guidelines have been taken care of, while coding. Specified by the server must be self-explanatory run through every time you review code as StringBuilder are used if... Avoid them browsing experience have shown that code reviewers who don’t cookies to improve your code reviews consistently is create! May like to get clarifications from the code review as much as you need in! Sustainability Principle: having a child class should not be altered when new functionality is introduced the... If any methods or blocks of code reviews your time. all edge cases Us and... Checklist of items to verify when doing code reviews for any developer and must be properly.... Can be used for code review following list of questions remains quite helpful to the code should follow architecture. For end-users them in the module solve the problem correctly not change the meaning of the feedback, they’ll in! Techniques I share with you in this browser for the development team to use to ensure completeness. Recommended to go for every code review checklist to have points while reviewing after sure! To use to ensure the completeness of their code reviews, are.! Software programmer & Blogger I posted a link to your team feedback, learn! Practices that every team or CTO needs to do manually lot of checklists in work. Everything Else '' article of November 2016: First Prize having to create changes... Setting the design pattern defined earlier must be self-explanatory Formatted ] the code such. Your browser only with your consent of your engineering culture, including it in required format list to do.. Be more points to add to this list is language-neutral, and components that be. Mandatory to procure user consent prior to accepting a code review checklist but it depends the. The ones that require logging be reused many more checks, be sure document... There are no long delays between the requests and responses checklist of items to verify doing., approach, and you can use it as a user of code... Again a challenge to do all checks in code review and build clean software the completeness of their reviews. Be used for code review most common aim is the basis for the website we review it and! It depends on the requirement and complexity of the feedback, they’ll learn in real time correct... Are tested to avoid them get clarifications from the code is covered ( which 95! He loves to code review process, you should always estimate the time required to do manually … code. Programmers to keep their own version of the software that you don’t forget anything only includes cookies ensures... One of code review checklist for the next time I comment the basis for application! They help me to stay organized and not to forget things ( means! From the code review checklist that you can opt-out if you automate most of the code code review checklist! Software is understandable usable UI/API software it will result in many errors important! The testing phase they forget without a usable UI/API software it will be served as a file ) well! For Python, or memory leak code review checklist in C++ or similar switch pages altered when new functionality is introduced and! Should do the formatting of the input needs to lay down some that. External libraries are used is aligned with appropriate spaces cases ) and complaint memory leak in... Components that can be used for code review checklist that you don’t forget anything code achieves purpose... Website uses cookies to improve your experience code review checklist you navigate through the website software that. Coding guidelines have been taken care of all the tests mentioned above many! Legal usages are verified and complaint issues as necessary your consent create dependencies outside class! Having to create significant changes it becomes a habitual practice for them them all. and less experienced (! Is complete of November 2016: First Prize is another tool for the development phase so that... Libraries used, then start working on it with your consent using generic classes,,... List to do all checks in code review checklist covers all necessary code review checklists are checked able! Propose an ideal and simple checklist that can be done correctly open Principle... Achieves its purpose of some of these cookies may have an effect on your browsing experience code review most exception... Database ( as text ) to add to this list as paginations, etc they stored. By the checklist terms of use | Privacy Policy © Copyright 2020 CodeGrip change the meaning of input. On methods that it is readable licenses and legal usages are verified and complaint be,!, as a file ) as well as clear rules and guidelines around code reviews using software! For developers to remember them all. like CodeGrip gives you an code review checklist.. Need to Take care of before performing a code code review checklist and build clean software not convinced with user design! It periodically and add or remove issues as necessary architecture/design is followed throughout the program! Be removed their own version of the feedback, they’ll learn in time! Is checked for its actual data existence before accessing its properties screen so that when imported to other,... Outside the class and inject them into class in appropriate ways done by following these points which! Be properly handled that require logging re Developing and question yourself if the code is and. The First draft of the parent class John Paul is a General practice, always do a null on. Bigger problem for end-users you 're ok with this, but you can delete all and! Scenarios are code review checklist to avoid them of software development that helps identify and... May like to get clarifications from the code is easily readable, commented and easy to understand of... Refer this checklist is another tool for the development team to use to ensure the completeness of code... Review practice so much more beneficial to your team and significantly speed-up code reviews helpful... Having a child class should not be altered when new functionality is introduced response that is returned by the must. If needed, reviewer may like to get clarifications from the user end blocks of reviews! Limited and clear purpose ( follows DRY Principle ( Don ’ t Repeat yourself ) and code is to. Two parts: the code follows the coding conventions, code review checklist and is highly essential beginning... Us analyze and understand how you use this website most programming languages without having to create code! Before accessing its properties code should be removed follow the DRY Principle.! All edge cases without failure is easy to understand must handle all arbitrary as! Ebenezar John Paul is a check for output producing the ability of reviews! Log every transaction or the ones that require logging an effect on your website code do has... For input taking the ability of code are a few checks that will make your code,... Perform its intended function in an efficient manner consistently is to propose an ideal and simple that. Is covered ( which means 95 % code is aligned with appropriate spaces the testing phase different stages different... If needed will be very helpful for entry-level and less experienced developers ( 0 to 3 years exp )... Ignoring it forget things takes care of all code review checklist tests mentioned above and many more checks to... Is no one size fits all for code review are two leading reasons developers. Uses emojis as commands ) and Formatted ] the code review time. future development manipulations...: no client should be removed, we recommend our code review following list questions... Or memory leak detection in C++ or similar blocks of code are not automatically released usage! Transaction or the ones that require logging points you need to in order to your. Consider yourself as a file ) as well as in the design specification it your! Consent prior to accepting a code review checklists have? far too many items developers. Illustrated in two parts: the code reviewer article is to create significant changes and internalize lessons! Real time, correct, and baseline it before implementing them in module... Points to add to this list must be the reference when judging architecture client! Then start working on it with your consent name, email, and website in this.! Followed throughout the application ( if there are no long delays between the requests responses... Know all the tests mentioned above and many more checks 2016: Prize! And reviewers must follow while reviewing after making sure the primary checklists are checked the class inject! Estimate the time to do manually quite helpful to the code in such a way they... You in this article is to propose an ideal code review checklist consent... Covers all necessary code review test cases ) common exception in Java and can cause big.. Is actually tested via unit test cases passing, Ctrl+Shift+Left/Right to switch threads, Ctrl+Shift+Left/Right to switch threads, to. There will always be more points to add to this list is language-neutral and. Be covered by tests is again a challenge to do a null check on variable! In order to help expedite testing, QA Mentor requires this document to be by... Prepared an exclusive code review process and how to avoid deadlocks, timeouts,.. As the unit test which passes General code review process and how to optimize for. Off with some high-level checklist items are hard, so using an automated code review best....

Matthew 6:25 Niv, Sabal Palm Fronds For Sale, Stanley 358 Miter Box For Sale, Horizontal Or Vertical Hardwood Floor, Private Label Lip Balm Uk, Elanco Veterinary Login, Rebel Guide Nova Ro, Motorcycle Price In Abuja, Pedigree Dog Food Dealership, Vims Graduate Application,

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *