* [edk2-CCodingStandardsSpecification PATCH] Clarify format of multi-line function calls @ 2017-06-12 18:36 Michael Kinney 2017-06-12 18:36 ` Michael Kinney 0 siblings, 1 reply; 3+ messages in thread From: Michael Kinney @ 2017-06-12 18:36 UTC (permalink / raw) To: edk2-devel; +Cc: Laszlo Ersek, Liming Gao, Kevin W Shaw https://bugzilla.tianocore.org/show_bug.cgi?id=425 GitHub branch for review: * https://github.com/mdkinney/edk2-CCodingStandardsSpecification/tree/Bugzilla_425_ClarifyMultiLineFunctionCallFormat GitHub word diff view of the patches in this series: * [1/1] https://github.com/mdkinney/edk2-CCodingStandardsSpecification/commit/3228a456259e0c183799dcd1bfbaf39d4fe65f72?w=1 Cc: Laszlo Ersek <lersek@redhat.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Kevin W Shaw <kevin.w.shaw@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> Michael Kinney (1): Clarify format of multi-line function calls 5_source_files/52_spacing.md | 15 ++++------ README.md | 69 ++++++++++++++++++++++---------------------- 2 files changed, 41 insertions(+), 43 deletions(-) -- 2.6.3.windows.1 ^ permalink raw reply [flat|nested] 3+ messages in thread
* [edk2-CCodingStandardsSpecification PATCH] Clarify format of multi-line function calls 2017-06-12 18:36 [edk2-CCodingStandardsSpecification PATCH] Clarify format of multi-line function calls Michael Kinney @ 2017-06-12 18:36 ` Michael Kinney 2017-06-12 20:59 ` Laszlo Ersek 0 siblings, 1 reply; 3+ messages in thread From: Michael Kinney @ 2017-06-12 18:36 UTC (permalink / raw) To: edk2-devel; +Cc: Laszlo Ersek, Liming Gao, Kevin W Shaw https://bugzilla.tianocore.org/show_bug.cgi?id=425 Cc: Laszlo Ersek <lersek@redhat.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Kevin W Shaw <kevin.w.shaw@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> --- 5_source_files/52_spacing.md | 15 ++++------ README.md | 69 ++++++++++++++++++++++---------------------- 2 files changed, 41 insertions(+), 43 deletions(-) diff --git a/5_source_files/52_spacing.md b/5_source_files/52_spacing.md index 01f79b4..677aa41 100644 --- a/5_source_files/52_spacing.md +++ b/5_source_files/52_spacing.md @@ -130,11 +130,13 @@ if (MyVar != 0) { If ((--MyInteger) > 0) { ``` -#### 5.2.2.4 Subsequent lines of multi-line function calls should line up one or two tabstops from the beginning of the function name +#### 5.2.2.4 Subsequent lines of multi-line function calls should line up two spaces from the beginning of the function name -Use either one or two tab stops to ensure that each parameter is indented at -least two spaces after the function name. Either of the below examples is -acceptable: +If a function call is broken up into multiple lines, then: + +* One function call argument per line +* Indent each argument 2 spaces from the start of the function name +* Align the close parenthesis with the start of the last argument ```c Status = gBS->AllocatePool ( @@ -142,11 +144,6 @@ Status = gBS->AllocatePool ( sizeof (DRIVER_NAME_INSTANCE), &PrivateData ); -Status = gBS->AllocatePool ( - EfiBootServicesData, - sizeof (DRIVER_NAME_INSTANCE), - &PrivateData - ); ``` #### 5.2.2.5 Always put space after commas or semicolons that separate items diff --git a/README.md b/README.md index fb5fb0a..8b9675b 100644 --- a/README.md +++ b/README.md @@ -77,37 +77,38 @@ Copyright (c) 2006-2017, Intel Corporation. All rights reserved. ### Revision History -| Revision | Revision History | Date | -| ---------- | ---------------------------------------------------------------------------------------------------- | ---------- | -| 0.0.1 | First swag. | 6/23/00 | -| 0.0.2 | Included feedback from team. | 8/3/00 | -| 0.3 | Add comments. | 8/10/00 | -| 0.3001 | Pre-vacation update, need to sync with new numbering process. | 9/11/00 | -| 0.31 | Incorporated Sync 1 learnings. | 12/12/00 | -| 0.32 | Completed TAT ARs. | 6/8/01 | -| 0.33 | Added goto rules. | 8/16/01 | -| 0.34 | Updated to match driver and Runtime Lib. | 11/15/01 | -| 0.9 | Updated to Intel(R) Platform Innovation Framework for EFI. Added checklist appendix. | 1/8/04 | -| 0.91 | Completed editing and formatting pass. | 3/3/04 | -| 0.92 | Updated the structure declaration rules: Added section 4.8 and modified the checklist in Appendix A. | 4/8/04 | -| 0.93 | Added some minor clarifications in section 3.1, 4.5, 7.1, and 10. | 9/14/04 | -| 0.94 | Revised to accommodate Doxygen style commenting standards | 3/1/06 | -| 0.50 | Change to new numbering scheme. Incorporate Review Comments. Editing and formatting. | 4/21/06 | -| 0.51 | Changed to EDK II. | 7/13/06 | -| 0.52 | Update rules to clarify areas of misinterpretation. Add copyright formatting rules. | 2/09/2010 | -| 0.60 | Re-organize document and update to current rules. | 2/15/2010 | -| 0.70 | Release for Review | 3/1/2010 | -| 0.95 | Review comments incorporated, Release to Tech Pubs for Finalization | 3/10/2010 | -| 1.00 | First full release | 3/15/2010 | -| 1.01 | Restructure into book format. | 12/08/2011 | -| 1.02 | Incorporate suggestions and trackers | 3/19/2012 | -| | Release For Review | 4/2/2012 | -| | Release | 4/16/2012 | -| 1.03 | Update and incorporate requests and bug fixes. Remove "Intel Confidential" classification. | 9/11/2014 | -| 1.50 | Release for Review | 9/26/2014 | -| 1.80 | Incorporate US Review Comments | 10/10/2014 | -| 1.85 | Incorporate PRC Review Comments | 10/24/2014 | -| | Release for Extended US & PRC Review | 10/28/2014 | -| 2.0 | Release | 11/14/2014 | -| 2.1 | DRAFT for REFORMAT | 10/30/2015 | -| 2.2 | Convert to Gitbook | April 2017 | +| Revision | Revision History | Date | +| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | +| 0.0.1 | First swag. | 6/23/00 | +| 0.0.2 | Included feedback from team. | 8/3/00 | +| 0.3 | Add comments. | 8/10/00 | +| 0.3001 | Pre-vacation update, need to sync with new numbering process. | 9/11/00 | +| 0.31 | Incorporated Sync 1 learnings. | 12/12/00 | +| 0.32 | Completed TAT ARs. | 6/8/01 | +| 0.33 | Added goto rules. | 8/16/01 | +| 0.34 | Updated to match driver and Runtime Lib. | 11/15/01 | +| 0.9 | Updated to Intel(R) Platform Innovation Framework for EFI. Added checklist appendix. | 1/8/04 | +| 0.91 | Completed editing and formatting pass. | 3/3/04 | +| 0.92 | Updated the structure declaration rules: Added section 4.8 and modified the checklist in Appendix A. | 4/8/04 | +| 0.93 | Added some minor clarifications in section 3.1, 4.5, 7.1, and 10. | 9/14/04 | +| 0.94 | Revised to accommodate Doxygen style commenting standards | 3/1/06 | +| 0.50 | Change to new numbering scheme. Incorporate Review Comments. Editing and formatting. | 4/21/06 | +| 0.51 | Changed to EDK II. | 7/13/06 | +| 0.52 | Update rules to clarify areas of misinterpretation. Add copyright formatting rules. | 2/09/2010 | +| 0.60 | Re-organize document and update to current rules. | 2/15/2010 | +| 0.70 | Release for Review | 3/1/2010 | +| 0.95 | Review comments incorporated, Release to Tech Pubs for Finalization | 3/10/2010 | +| 1.00 | First full release | 3/15/2010 | +| 1.01 | Restructure into book format. | 12/08/2011 | +| 1.02 | Incorporate suggestions and trackers | 3/19/2012 | +| | Release For Review | 4/2/2012 | +| | Release | 4/16/2012 | +| 1.03 | Update and incorporate requests and bug fixes. Remove "Intel Confidential" classification. | 9/11/2014 | +| 1.50 | Release for Review | 9/26/2014 | +| 1.80 | Incorporate US Review Comments | 10/10/2014 | +| 1.85 | Incorporate PRC Review Comments | 10/24/2014 | +| | Release for Extended US & PRC Review | 10/28/2014 | +| 2.0 | Release | 11/14/2014 | +| 2.1 | DRAFT for REFORMAT | 10/30/2015 | +| 2.2 | Convert to Gitbook | June 2017 | +| | [#425](https://bugzilla.tianocore.org/show_bug.cgi?id=425) [CCS] clarify line breaking and indentation requirements for multi-line function calls | | -- 2.6.3.windows.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [edk2-CCodingStandardsSpecification PATCH] Clarify format of multi-line function calls 2017-06-12 18:36 ` Michael Kinney @ 2017-06-12 20:59 ` Laszlo Ersek 0 siblings, 0 replies; 3+ messages in thread From: Laszlo Ersek @ 2017-06-12 20:59 UTC (permalink / raw) To: Michael Kinney, edk2-devel; +Cc: Liming Gao, Kevin W Shaw On 06/12/17 20:36, Michael Kinney wrote: > https://bugzilla.tianocore.org/show_bug.cgi?id=425 > > Cc: Laszlo Ersek <lersek@redhat.com> > Cc: Liming Gao <liming.gao@intel.com> > Cc: Kevin W Shaw <kevin.w.shaw@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> > --- > 5_source_files/52_spacing.md | 15 ++++------ > README.md | 69 ++++++++++++++++++++++---------------------- > 2 files changed, 41 insertions(+), 43 deletions(-) > > diff --git a/5_source_files/52_spacing.md b/5_source_files/52_spacing.md > index 01f79b4..677aa41 100644 > --- a/5_source_files/52_spacing.md > +++ b/5_source_files/52_spacing.md > @@ -130,11 +130,13 @@ if (MyVar != 0) { > If ((--MyInteger) > 0) { > ``` > > -#### 5.2.2.4 Subsequent lines of multi-line function calls should line up one or two tabstops from the beginning of the function name > +#### 5.2.2.4 Subsequent lines of multi-line function calls should line up two spaces from the beginning of the function name > > -Use either one or two tab stops to ensure that each parameter is indented at > -least two spaces after the function name. Either of the below examples is > -acceptable: > +If a function call is broken up into multiple lines, then: I'd like to suggest an addition: "... function call or function like macro invocation ..." The primary example being DEBUG. > + > +* One function call argument per line Please add (if you agree, that is): * even the first argument should be on a separate line > +* Indent each argument 2 spaces from the start of the function name Please add: if the function is called through a structure or union member, of type pointer-to-function, then indent each argument 2 spaces from the start of the member name. Thank you, Laszlo > +* Align the close parenthesis with the start of the last argument > > ```c > Status = gBS->AllocatePool ( > @@ -142,11 +144,6 @@ Status = gBS->AllocatePool ( > sizeof (DRIVER_NAME_INSTANCE), > &PrivateData > ); > -Status = gBS->AllocatePool ( > - EfiBootServicesData, > - sizeof (DRIVER_NAME_INSTANCE), > - &PrivateData > - ); > ``` > > #### 5.2.2.5 Always put space after commas or semicolons that separate items > diff --git a/README.md b/README.md > index fb5fb0a..8b9675b 100644 > --- a/README.md > +++ b/README.md > @@ -77,37 +77,38 @@ Copyright (c) 2006-2017, Intel Corporation. All rights reserved. > > ### Revision History > > -| Revision | Revision History | Date | > -| ---------- | ---------------------------------------------------------------------------------------------------- | ---------- | > -| 0.0.1 | First swag. | 6/23/00 | > -| 0.0.2 | Included feedback from team. | 8/3/00 | > -| 0.3 | Add comments. | 8/10/00 | > -| 0.3001 | Pre-vacation update, need to sync with new numbering process. | 9/11/00 | > -| 0.31 | Incorporated Sync 1 learnings. | 12/12/00 | > -| 0.32 | Completed TAT ARs. | 6/8/01 | > -| 0.33 | Added goto rules. | 8/16/01 | > -| 0.34 | Updated to match driver and Runtime Lib. | 11/15/01 | > -| 0.9 | Updated to Intel(R) Platform Innovation Framework for EFI. Added checklist appendix. | 1/8/04 | > -| 0.91 | Completed editing and formatting pass. | 3/3/04 | > -| 0.92 | Updated the structure declaration rules: Added section 4.8 and modified the checklist in Appendix A. | 4/8/04 | > -| 0.93 | Added some minor clarifications in section 3.1, 4.5, 7.1, and 10. | 9/14/04 | > -| 0.94 | Revised to accommodate Doxygen style commenting standards | 3/1/06 | > -| 0.50 | Change to new numbering scheme. Incorporate Review Comments. Editing and formatting. | 4/21/06 | > -| 0.51 | Changed to EDK II. | 7/13/06 | > -| 0.52 | Update rules to clarify areas of misinterpretation. Add copyright formatting rules. | 2/09/2010 | > -| 0.60 | Re-organize document and update to current rules. | 2/15/2010 | > -| 0.70 | Release for Review | 3/1/2010 | > -| 0.95 | Review comments incorporated, Release to Tech Pubs for Finalization | 3/10/2010 | > -| 1.00 | First full release | 3/15/2010 | > -| 1.01 | Restructure into book format. | 12/08/2011 | > -| 1.02 | Incorporate suggestions and trackers | 3/19/2012 | > -| | Release For Review | 4/2/2012 | > -| | Release | 4/16/2012 | > -| 1.03 | Update and incorporate requests and bug fixes. Remove "Intel Confidential" classification. | 9/11/2014 | > -| 1.50 | Release for Review | 9/26/2014 | > -| 1.80 | Incorporate US Review Comments | 10/10/2014 | > -| 1.85 | Incorporate PRC Review Comments | 10/24/2014 | > -| | Release for Extended US & PRC Review | 10/28/2014 | > -| 2.0 | Release | 11/14/2014 | > -| 2.1 | DRAFT for REFORMAT | 10/30/2015 | > -| 2.2 | Convert to Gitbook | April 2017 | > +| Revision | Revision History | Date | > +| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | > +| 0.0.1 | First swag. | 6/23/00 | > +| 0.0.2 | Included feedback from team. | 8/3/00 | > +| 0.3 | Add comments. | 8/10/00 | > +| 0.3001 | Pre-vacation update, need to sync with new numbering process. | 9/11/00 | > +| 0.31 | Incorporated Sync 1 learnings. | 12/12/00 | > +| 0.32 | Completed TAT ARs. | 6/8/01 | > +| 0.33 | Added goto rules. | 8/16/01 | > +| 0.34 | Updated to match driver and Runtime Lib. | 11/15/01 | > +| 0.9 | Updated to Intel(R) Platform Innovation Framework for EFI. Added checklist appendix. | 1/8/04 | > +| 0.91 | Completed editing and formatting pass. | 3/3/04 | > +| 0.92 | Updated the structure declaration rules: Added section 4.8 and modified the checklist in Appendix A. | 4/8/04 | > +| 0.93 | Added some minor clarifications in section 3.1, 4.5, 7.1, and 10. | 9/14/04 | > +| 0.94 | Revised to accommodate Doxygen style commenting standards | 3/1/06 | > +| 0.50 | Change to new numbering scheme. Incorporate Review Comments. Editing and formatting. | 4/21/06 | > +| 0.51 | Changed to EDK II. | 7/13/06 | > +| 0.52 | Update rules to clarify areas of misinterpretation. Add copyright formatting rules. | 2/09/2010 | > +| 0.60 | Re-organize document and update to current rules. | 2/15/2010 | > +| 0.70 | Release for Review | 3/1/2010 | > +| 0.95 | Review comments incorporated, Release to Tech Pubs for Finalization | 3/10/2010 | > +| 1.00 | First full release | 3/15/2010 | > +| 1.01 | Restructure into book format. | 12/08/2011 | > +| 1.02 | Incorporate suggestions and trackers | 3/19/2012 | > +| | Release For Review | 4/2/2012 | > +| | Release | 4/16/2012 | > +| 1.03 | Update and incorporate requests and bug fixes. Remove "Intel Confidential" classification. | 9/11/2014 | > +| 1.50 | Release for Review | 9/26/2014 | > +| 1.80 | Incorporate US Review Comments | 10/10/2014 | > +| 1.85 | Incorporate PRC Review Comments | 10/24/2014 | > +| | Release for Extended US & PRC Review | 10/28/2014 | > +| 2.0 | Release | 11/14/2014 | > +| 2.1 | DRAFT for REFORMAT | 10/30/2015 | > +| 2.2 | Convert to Gitbook | June 2017 | > +| | [#425](https://bugzilla.tianocore.org/show_bug.cgi?id=425) [CCS] clarify line breaking and indentation requirements for multi-line function calls | | > ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-06-12 20:58 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-06-12 18:36 [edk2-CCodingStandardsSpecification PATCH] Clarify format of multi-line function calls Michael Kinney 2017-06-12 18:36 ` Michael Kinney 2017-06-12 20:59 ` Laszlo Ersek
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox