ALICE O 2 C++ coding conventions Adriana Telesca on behalf of the CWG2 March, 21 st 2014.

Slides:



Advertisements
Similar presentations
HDL Programming Fundamentals
Advertisements

Thematic evaluation on the contribution of UN Women to increasing women’s leadership and participation in Peace and Security and in Humanitarian Response.
A SharePoint site is a Web site that provides a central storage and collaboration space for documents, information, and ideas. A SharePoint site is a tool.
Standard 6: Clinical Handover
Communications & knowledge sharing Global Impact Study Impact Indicators Workshop Montpellier, France March 2010 Christine Prefontaine.
IT Project Management, Third Edition Appendix A1 Appendix A: Guide to Using Microsoft Project 2002.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
The W3C Web Accessibility Initiative (WAI) Inclusive learning through technology Damien French.
An Introduction to the Hennepin County Hennepin County GIS Technical Advisory Group (eGTAG) 10/20/2009.
Organizational Influences and Life Cycle
CWG2 on Tools, guidelines and procedures Licensing Adriana Telesca on behalf of the CWG2 December, 5 th 2014.
Rensselaer Polytechnic Institute David Goldschmidt, Ph.D.
Configuration Management Avoiding Costly Confusion mostly stolen from Chapter 27 of Pressman.
CWG2 Tools, Guidelines and Procedures 16 December 2014 ALICE O 2 Asian Workshop
GEF Expanded Constituency Workshop 5 to 6 November 2012 New Delhi, India Roles and Responsibilities of Council Members and Focal Points.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
MeTA Jordan Executive Summary Baseline data is an important source for policy makers to diagnose the pharmaceutical and health sector situation in order.
Writing Policy Review Process Rebecca Woosley Carol Franks Renee Boss KDE Literacy Consultants 1.
Tools and software process for the FLP prototype B. von Haller 9. June 2015 CERN.
IEEE S2ESC Report1 Software And Systems Engineering Standards Committee (S2ESC) Paul R. Croll S2ESC Sponsor Chair June 2004 Report.
Letter of intent By to predefined format (Word file, see guidelines) Chair Scientific Committee Coordination EO To all members of.
1 Implementing Computer Applications in Counseling James P. Sampson, Jr. Florida State University Copyright 2003 by James P. Sampson, Jr. All rights reserved.
POWERED BY: A Successful Adoption Of Technology #NPPROTGC Ron Marzitelli Assistant Vice President of Information Technology School of Business & Technology,
UST Google Apps Pilot. Introductions Agenda: Welcome! Introduce IRT Project Team Project Overview Expectations Instructions Help & Support Questions.
PDP Improvements Update & Discussion. | 2 Background  Ten proposed improvements aimed to streamline and enhance the GNSO PDP Ten proposed improvements.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?
Copyright © 2010 Pearson Education InternationalChapter Writing Reports and Proposals.
New Public Debt Committee Website Benjamin Fuentes Castro Superior Audit Office Mexico June 22, 2007 Lisbon, Portugal.
Residential Sector Market Studies Planning Tool Output of Market Studies Needs Assessment ( study) July 29, 2014 webinar Opinion Dynamics, for California.
InWEnt | Qualified to shape the future1 Internet based Human Resource Development Management Platform Human Resource Development Programme in Natural Disaster.
Communication 2 Report Writing.
Team Meetings Organizing for Effective & Outcome-oriented meetings.
US BGN, September United States Board on Geographic Names (US BGN)
D1.HGE.CL7.01 D1.HGA.CL6.08 Slide 1. Introduction Design, prepare and present reports  Classroom schedule  Trainer contact details  Assessments  Resources:
RIC 2009 Rulemaking Process: “NRC and Industry Perspectives on Improving Quality, Timeliness, and Consistency in 10 CFR 50.55a “A New Approach” Jacob Zimmerman.
Rossella Lau Lecture 1, DCO10105, Semester B, DCO10105 Object-Oriented Programming and Design  Lecture 1: Introduction What this course is about:
Copyright © 2010 Pearson Education, Inc. publishing as Prentice HallChapter Writing Reports and Proposals.
Introduction 1. Purpose of the Chapter 2. Institutional arrangements Country Practices 3. Legal framework Country Practices 4. Preliminary conclusions.
Naming and Code Conventions for ALICE DCS (1st thoughts)
EGEE is a project funded by the European Union under contract IST User support in EGEE Alistair Mills Torsten Antoni EGEE-3 Conference 20 April.
Ohio Superintendent Evaluation System. Ohio Superintendent Evaluation System (Background) Senate Bill 1: Standards for teachers, principals and professional.
SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
1 Developed by U.S. Environmental Protection Agency (U.S. EPA) January 2014 Setting up a Sustainable National GHG Inventory Management System.
Policies and Procedures for Civil Society Participation in GEF Programme and Projects presented by GEF NGO Network ECW.
Using OMB Section 508 reporting in addressing your agency's program maturity. How to Measure Your Agency's 508 Program.
© Mahindra Satyam 2009 QUALIFY (QUALity Information For You) An Introduction.
AliRoot survey P.Hristov 11/06/2013. Offline framework  AliRoot in development since 1998  Directly based on ROOT  Used since the detector TDR’s for.
JRA2: Quality Assurance Overview EGEE is proposed as a project funded by the European Union under contract IST JRA.
Academic Standards Review Committee Winter 2014 Team members: Dillon Carr, Daniel Gendler, Pamela Laureto, Harold Lee, Thomas Street, Fred Zomer.
The MESICIC Experience & Civil Society Participation.
1 Geant4 Documentation Dennis Wright Geant4 Delta Review 9 October 2002 Internal documentation review Documentation improvements Plans for future improvements.
Academic Standards Review Committee Fall 2014 Team members: Dillon Carr, Daniel Gendler, Pamela Laureto, Harold Lee, Thomas Street, Fred Zomer.
ISWG / SIF / GEOSS OOSSIW - November, 2008 GEOSS “Interoperability” Steven F. Browdy (ISWG, SIF, SCC)
Company LOGO. Company LOGO PE, PMP, PgMP, PME, MCT, PRINCE2 Practitioner.
BUS OPERATOR WORKSTATION PROCUREMENT TEAM TRAINING T O ENHANCE BUS OPERATOR ERGONOMICS, HEALTH, AND SAFETY A TRAINING TEMPLATE FOR TRANSIT AGENCIES [ADD.
IPCC Key challenges facing communities, and approaches to solutions that enhance resilience: through NAPs Climate and Health Summit 2014 Investing.
Managing Information for Transparency November 15, 2010 Monica Fuijkschot Director, Information Management.
ERA Project Team Meeting Project Management Plan April 23, 2002.
CMMI Certification - By Global Certification Consultancy.
BU Marketing Manager Purpose The BU Marketing Manager is responsible for the implementation and quality of standards within Marketing throughout the Business.
ISO17799 / BS ISO / BS Introduction Information security has always been a major challenge to most organizations. Computer infections.
District Training Assembly
Laboratory Orders Interface Initiative
Savannah to Jira Migration
Configuration Management (managing change)
SEMINAR 1 Graduation Project 1: Principle steps GRADUATION PROJECT-1
Roles and Responsibilities of Council Members and Focal Points
ESS.VIP Validation Item 5.1
Academic Standards Review Committee
Presentation transcript:

ALICE O 2 C++ coding conventions Adriana Telesca on behalf of the CWG2 March, 21 st 2014

CWG2 ▶ Propose common guidelines, policies and procedures ▶ Conduct surveys for tools that cover the activities of most of the other working groups (aka Support tools) ▶ Coordinate other surveys ▶ Act as a central point where we keep track of who is evaluating what ▶ Ensure that resources are optimized and communication among the working groups is facilitated Tools, guidelines and procedures A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/2014 2

CWG2 ▶ Adriana: DAQ, AMORE software development ▶ Alina: Offline, Offline software cycle organization ▶ Barth: DAQ, AMORE software development ▶ Ivana: Offline, AliRoot and Geant4 ▶ Matthias: HLT, Vc (SIMD types), Qt/KDE background, C++ committee work ▶ Vasco: DAQ, front-end applications and control software development Members A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/2014 3

ALICE O 2 C++ coding conventions: why? ▶ O 2 as a fresh start ▶ However, contributions from many coders used to different conventions ▶ Need to ensure uniformity ▶ Need to adopt common conventions A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/2014 4

ALICE O 2 C++ coding conventions: decision ▶ Google C++ coding guidelines as starting point ▶ Widely used conventions taken into account ▶ Herb Sutter and Stroustrup’s guidelines considered ▶ C++11 features ▶ Big effort invested  The result is different from both Google and AliRoot A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/2014 5

ALICE O 2 C++ coding conventions Two documents: ▶ Coding style Git: ▶ Naming ▶ Formatting ▶ Comments ▶ Coding guidelines Git: The documents A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/2014 6

Coding style Goal A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/2014 7

Coding style Naming and formatting A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/2014 8

Coding style ▶ Naming ▶ Files ▶ Variables ▶ Functions ▶ Formatting ▶ Line length ▶ Classes Highlights A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/2014 9

Code style Naming: General A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Code style Naming: Files A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Code style Naming: Variables A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Code style Naming: Functions A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Coding style Formatting: Line length and classes A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Coding guidelines Goal A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Coding guidelines A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Coding guidelines ▶ Namespaces: ▶ General and std ▶ Scoping: ▶ Variables and Brace initialization ▶ Global variables ▶ Classes: ▶ Initialization ▶ Others: ▶ Exceptions Highlights A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Coding guidelines Namespaces: general and std A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Coding guidelines Namespaces: using declarations and directives A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Coding guidelines Scoping A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Coding guidelines A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Coding guidelines Classes: Initialization A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Coding guidelines A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Coding guidelines Others A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Feedback ▶ Received feedback/questions about: ▶ Templates ▶ STL usage ▶ Exceptions ▶ Threads ▶ Dependencies A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Conclusion ▶ Lots of work and dedication ▶ This guide can be adapted following the usage of the C++ language that best suits the needs of the O 2 software. ▶ Your feedback will be considered for the next iterations of the document. A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/

Questions ? 27 A. Telesca | CWG2 Tools, guidelines and procedures | 21/03/2014