* [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