Code reviews can be done in very different processes. In this talk we discuss our lightweight process for informal reviews with structured results. It's the first talk in our Code Review Culture Series.
You Live, You Learn, Then You Get Perforce SwarmPerforce
Hear how Electric Cloud migrated from their existing code review tool to Perforce Swarm and how it improved developer productivity. Learn the best way to incorporate code review into your development process and how to integrate Swarm with a Continuous Integration system.
This talk was give at the South Shore .NET Users Group.
Unit Testing is now considered a required skill for developers. There are a ton of tools out there. However, there's nothing that shows you how to tie them all together to make your software fast, testable, and flexible. This talk will go over my toolset:
• MSTest
• Moq - Mocking framework
• NCover - for coverage
• MSBuild - for automation
• Dotcover - coverage from VS
• Unity - for dependency injection
This talk has a very long demo
A code review is basically a technical discussion which should lead to improvements in the code and/or sharing
knowledge in a team. As with any conversation, it should have substance and form.
What’s involved in a good code review? What kind of problems do we want to spot and address? Trisha Gee will talk
about things a reviewer may consider when looking at changes: what potential issues to look for; why certain
patterns may be harmful; and, of course, what NOT to look at.
But when it comes to commenting on someone’s work, it may be hard to find the right words to convey a useful message
without offending the authors - after all, this is something that they worked hard on. Maria Khalusova will share
some observations, thoughts and practical tricks on how to give and receive feedback without turning a code review
into a battlefield.
You Live, You Learn, Then You Get Perforce SwarmPerforce
Hear how Electric Cloud migrated from their existing code review tool to Perforce Swarm and how it improved developer productivity. Learn the best way to incorporate code review into your development process and how to integrate Swarm with a Continuous Integration system.
This talk was give at the South Shore .NET Users Group.
Unit Testing is now considered a required skill for developers. There are a ton of tools out there. However, there's nothing that shows you how to tie them all together to make your software fast, testable, and flexible. This talk will go over my toolset:
• MSTest
• Moq - Mocking framework
• NCover - for coverage
• MSBuild - for automation
• Dotcover - coverage from VS
• Unity - for dependency injection
This talk has a very long demo
A code review is basically a technical discussion which should lead to improvements in the code and/or sharing
knowledge in a team. As with any conversation, it should have substance and form.
What’s involved in a good code review? What kind of problems do we want to spot and address? Trisha Gee will talk
about things a reviewer may consider when looking at changes: what potential issues to look for; why certain
patterns may be harmful; and, of course, what NOT to look at.
But when it comes to commenting on someone’s work, it may be hard to find the right words to convey a useful message
without offending the authors - after all, this is something that they worked hard on. Maria Khalusova will share
some observations, thoughts and practical tricks on how to give and receive feedback without turning a code review
into a battlefield.
The importance of testing in a web design & build projectBuilding Blocks
Building Blocks co-founder Jonathan Whiteside's slides on the importance of testing in a web design and build project, as presented at Figaro Digital's design and build seminar in August 2014.
Second "code school lesson" for Eurosport's developers.
1. Refactoring : when? why? how?
2. Single Responsability
3. Practical case : clean architecture.
What CS Class Didn't Teach About TestingCamille Bell
Computer Science classes don't teach testing. Testing is as critical to software engineering as writing code. Here I show what CS programs should have taught, but didn't.
Code Club - a Fight Club inspired approach to software inspection and reviewSimon Price
Public version of original 2002 internal presentation at the Institute for Learning and Research Technology (ILRT), University of Bristol, about improving software quality through semi-formal code inspections and reviews. Made public as a result of discussions at the April 2016 Alan Turing Institute Symposium on Reproducibility for Data-Intensive Research, Oxford University.
What designers can learn from (code) reviewIda Aalen
Everyone dreads “Design by committee”. Someone proofing your work might be a threat to creativity. But approaching digital design as a sole creative genius simply doesn’t work. Ida shares what she’s learned about collaboration from developers.
What is "Agile"?
Why would someone like to be agile?
What are the 3 pillars for agile software development?
How can you achieve technical excellence in your software teams?
Are developer skills more important than languages, methods or frameworks?
The importance of testing in a web design & build projectBuilding Blocks
Building Blocks co-founder Jonathan Whiteside's slides on the importance of testing in a web design and build project, as presented at Figaro Digital's design and build seminar in August 2014.
Second "code school lesson" for Eurosport's developers.
1. Refactoring : when? why? how?
2. Single Responsability
3. Practical case : clean architecture.
What CS Class Didn't Teach About TestingCamille Bell
Computer Science classes don't teach testing. Testing is as critical to software engineering as writing code. Here I show what CS programs should have taught, but didn't.
Code Club - a Fight Club inspired approach to software inspection and reviewSimon Price
Public version of original 2002 internal presentation at the Institute for Learning and Research Technology (ILRT), University of Bristol, about improving software quality through semi-formal code inspections and reviews. Made public as a result of discussions at the April 2016 Alan Turing Institute Symposium on Reproducibility for Data-Intensive Research, Oxford University.
What designers can learn from (code) reviewIda Aalen
Everyone dreads “Design by committee”. Someone proofing your work might be a threat to creativity. But approaching digital design as a sole creative genius simply doesn’t work. Ida shares what she’s learned about collaboration from developers.
What is "Agile"?
Why would someone like to be agile?
What are the 3 pillars for agile software development?
How can you achieve technical excellence in your software teams?
Are developer skills more important than languages, methods or frameworks?
Automated Testing in Javascript - how to get started with testing in JS using Cypress and Jest. No more excuses, start testing your production code TODAY!
Example project can be found here: https://github.com/nano3labs/example-automated-testing-js
Improving the Quality of Existing Software - DevIntersection April 2016Steven Smith
How do you improve the quality of your existing software, while continuing to add value for your customers? What are some heuristics and code smells you can look for, and principles and patterns you can use to guide you, as you make your software better over time instead of worse? How can we improve our skills and techniques so that writing high quality software becomes our default, fastest way of working?
Presentation from the August 2012 NBIC (Netherlands Bioinformatics Centre) BioAssist programmer's meeting. Overview of the content:
1. what are code reviews, some different ways of reviewing code
2. why would you want to do code reviews, what makes sense and what not
3. how can you do code reviews (or formal inspections), some real world experience
4. using tools for code reviews
5. some links for more information
6. two bonus slides with a few links to gems from the Triumph of the Nerds documentary, well worth watching!
This presentation is a part of the COP2271C college level course taught at the Florida Polytechnic University located in Lakeland Florida. The purpose of this course is to introduce Freshmen students to both the process of software development and to the Python language.
The course is one semester in length and meets for 2 hours twice a week. The Instructor is Dr. Jim Anderson.
A video of Dr. Anderson using these slides is available on YouTube at: https://www.youtube.com/watch?v=c2CTDm19Lpg
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Looking for a reliable mobile app development company in Noida? Look no further than Drona Infotech. We specialize in creating customized apps for your business needs.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
AI Genie Review: World’s First Open AI WordPress Website CreatorGoogle
AI Genie Review: World’s First Open AI WordPress Website Creator
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-genie-review
AI Genie Review: Key Features
✅Creates Limitless Real-Time Unique Content, auto-publishing Posts, Pages & Images directly from Chat GPT & Open AI on WordPress in any Niche
✅First & Only Google Bard Approved Software That Publishes 100% Original, SEO Friendly Content using Open AI
✅Publish Automated Posts and Pages using AI Genie directly on Your website
✅50 DFY Websites Included Without Adding Any Images, Content Or Doing Anything Yourself
✅Integrated Chat GPT Bot gives Instant Answers on Your Website to Visitors
✅Just Enter the title, and your Content for Pages and Posts will be ready on your website
✅Automatically insert visually appealing images into posts based on keywords and titles.
✅Choose the temperature of the content and control its randomness.
✅Control the length of the content to be generated.
✅Never Worry About Paying Huge Money Monthly To Top Content Creation Platforms
✅100% Easy-to-Use, Newbie-Friendly Technology
✅30-Days Money-Back Guarantee
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIGenieApp #AIGenieBonus #AIGenieBonuses #AIGenieDemo #AIGenieDownload #AIGenieLegit #AIGenieLiveDemo #AIGenieOTO #AIGeniePreview #AIGenieReview #AIGenieReviewandBonus #AIGenieScamorLegit #AIGenieSoftware #AIGenieUpgrades #AIGenieUpsells #HowDoesAlGenie #HowtoBuyAIGenie #HowtoMakeMoneywithAIGenie #MakeMoneyOnline #MakeMoneywithAIGenie
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
3. Why do we review code?
• Find bugs
• Transfer knowledge
• Lower project cost
• [ Hiring a candidate ]
4. How would you review?
• Branch —> Code —> Assign Pull Request!
• Create a feature branch
• Implement the feature
• Create a pull request
• Assign a reviewer
• Discuss (and add changes to)
pull request
• Approve and merge pull request
5. PR, really? You also
could…
• Code —> Push —> Assign Ticket!
• Implement the feature
• Commit with message
• Push changes
• Assign ticket w/ commits
to review
6. Sure, but how do I review?
• Read the issue ticket: “the why”
• Checkout the code/branch
• Run the tests w/ coverage
• Check the console
• Review the change
7. What should I be reviewing?
•Change
• Complexity: Shape of change = complex
• Test Coverage
•Code
• Naming, Functionality, Control Structures, Error Handling
• Tricky things (Thread Safety, Resource Leaks, Timezones)
• No obvious things: Performance, Security
•Design
• Single Responsibility Principle (Implicit dependencies)
• Data lifecycle (Cache invalidation, Reentrancy)
•Everything else: Tests, Builds, Deployment scripts, Configurations
9. So, what’s hard about it?
• Process is more difficult than the result
• Discuss your code with your peers
• How to disagree?
• Don’t just agree on the issue —> Silent Commitment.
• No fear of conflict —> Be curious!
• Agree to disagree —> Ask and learn.
• Form a strong code review culture!
11. Authors: Provide Context!
• What problems are we solving?
• Pull Request / Commit message:
• Add 2 paragraphs of context.
• Annotate source code.
• Describe changes, defending reasons and
methods.
• Re-think and explain every change.
13. Guidelines for Authors
• The primary reviewer is the
author, i.e. YOU.
• Review your own code
BEFORE commit.
• Create a checklist for
yourself.
• You are not your code.
Good code is…
14. Reviewers: Ask don’t tell
• What have you learned?
• Critique the code, instead of people
• Ask questions, rather than make statements
• “What do you think …”
• “Did you consider …”
• “Can you clarify …”
• Avoid ‘why’ questions, be more specific!
• Don’t forget to praise.
15. Background: How many
LOCs to review?
Defect density
dramatically decreases
when the number of
lines of inspection
goes above 200, and
is almost zero after 400.
16. Background:
Inspection rate
If you don’t spend
enough time, you
won't
find many defects.
Faster than
400-500 LOC/hour
results in severe
drop-off
in effectiveness.
17. Guidelines for Reviewers
• Review fewer than 400
LOC at a time.
• Aim for less than 500
LOC / hour.
• Take your time, but quit
after 60mins.
• Establish quantifiable
goals. Capture metrics.
18. Goal: Structured
feedback
• Must Haves: “How to get your approval”
• Customer facing incompleteness and inconsistencies
• Obvious bugs, and everything on the checklist
• Nice To Haves: “How to improve the code base”
• New design flaws, or known code smells
• Reduced test coverage, performance
• Everything you can live with, but don’t want to
• Superhero Deeds: “How to show love to your team”
• What are your peers working on? Can you help?
• Extra test data, mocks, anything done easily that helps.
19. We all make mistakes, but…
• Verify that defects are actually
fixed!
• Managers foster good code
reviews.
• ‘Big Brother Effect’ versus
‘Ego Effect’.
• Authors never merge own Pull
Requests.
• Tech leads aren’t gatekeepers.
20. Next Steps
• Authors: “Provide more context”
• Favour pull requests, over direct commits.
• Annotate your change, explain the ‘why’
• Maintain a personal checklist.
• Review every modification, before push.
• Reviewers: “Provide structured feedback”
• Critique the code, not the coder.
• Use the checklist.
• Be specific, and helpful.
• Don’t forget to praise.
23. References
• Best Practices for Code Reviews
http://www.smartbear.com/docs/
BestPracticesForPeerCodeReview.pdf
• The Ten Commandments of
Egoless Programming
http://www.codinghorror.com/blog/2006/05/the-
ten-commandments-of-egoless-programming.html
• Effective Code Reviews Without
the Pain
http://www.developer.com/java/other/article.php/
3579756
Thanks to geek-and-poke.com & commadot.com