Revision

Revision

8) Code Review - CS2800 - Software Engineering

20 min · 25 de abr de 2025
portada del episodio 8) Code Review - CS2800 - Software Engineering

Descripción

This document, "Modern Code Review for Improving Software Quality", explores contemporary code review practices, examining their effectiveness in addressing coding convention violations. It presents research investigating the prevalence of convention violations despite reviews, the types of violations tackled, and their impact on the review process. The text also discusses the potential benefits of recommending related prior code reviews to provide valuable context for reviewers. Furthermore, it outlines requirements for effective similarity measurements to facilitate such recommendations, comparing different approaches. The research ultimately aims to understand and enhance the role of code review in software development.

Comentarios

0

Sé la primera persona en comentar

¡Regístrate ahora y forma parte de la comunidad de Revision!

Prueba gratis

Empieza 7 días de prueba

$99 / mes después de la prueba. · Cancela cuando quieras.

  • Podcasts solo en Podimo
  • 20 horas de audiolibros al mes
  • Podcast gratuitos

Todos los episodios

13 episodios

episode 8) Code Review - CS2800 - Software Engineering artwork

8) Code Review - CS2800 - Software Engineering

This document, "Modern Code Review for Improving Software Quality", explores contemporary code review practices, examining their effectiveness in addressing coding convention violations. It presents research investigating the prevalence of convention violations despite reviews, the types of violations tackled, and their impact on the review process. The text also discusses the potential benefits of recommending related prior code reviews to provide valuable context for reviewers. Furthermore, it outlines requirements for effective similarity measurements to facilitate such recommendations, comparing different approaches. The research ultimately aims to understand and enhance the role of code review in software development.

25 de abr de 202520 min
episode 6) Lifecycle - CS2800 - Software Engineering artwork

6) Lifecycle - CS2800 - Software Engineering

This collection of materials outlines the Software Development Lifecycle and introduces Agile methodologies, with a strong focus on the Scrum framework. It begins by contrasting traditional approaches with the values expressed in the Agile Manifesto, emphasising individuals, working software, collaboration, and responding to change. The documents then detail the Scrum process, including roles like the Product Owner, Scrum Master, and Developers, and its structured workflow involving Sprints, the Product Backlog, and various meetings such as Sprint Planning, Daily Scrums, and Sprint Reviews. Key Scrum concepts like timeboxing, increments of value, and the importance of honesty and continuous improvement are highlighted. Furthermore, the materials provide context for a team project utilising Scrum principles, outlining the sprint structure and expectations.

25 de abr de 202515 min
episode 5) Refactoring - CS2800 - Software Engineering artwork

5) Refactoring - CS2800 - Software Engineering

These sources comprehensively outline refactoring, the systematic improvement of code without altering its functionality, emphasizing its importance in combating technical debt, which arises from poor coding practices and rushed development. The materials detail code smells, indicators of underlying problems in code categorized as bloaters, object-orientation abusers, change preventers, dispensables, and couplers, and provide numerous examples of each. Furthermore, the resources present various refactoring techniques, categorized by composing methods, moving features, organising data, simplifying conditionals, simplifying method calls, and dealing with generalisation, illustrating their application with before-and-after code examples. Finally, the sources discuss when and how to refactor effectively, including the use of automated tools for detecting code smells and the critical role of testing throughout the refactoring process to ensure code reliability.

25 de abr de 202520 min
episode 4) Design Patterns - CS2800 - Software Engineering artwork

4) Design Patterns - CS2800 - Software Engineering

These materials from lecture slides cover design patterns, which are reusable solutions to common software design challenges. The initial set of slides introduces the motivation and classification of these patterns, categorising them as creational, behavioral, and structural. Specific patterns like Singleton and Factory (both abstract and regular) within the creational category are detailed, alongside behavioral patterns such as Observer and State. The subsequent slides continue by examining structural patterns like Facade and Bridge, which focus on object composition, and conclude with an overview of the Model-View-Controller (MVC) architectural pattern, emphasising its role in separating concerns within an application.

25 de abr de 202521 min