Skip to content

Conversation

@CarloToso
Copy link
Contributor

@CarloToso CarloToso commented Jan 19, 2023

PR Summary

Replace string.Format() with new string.Create((IFormatProvider? provider, [InterpolatedStringHandlerArgument(nameof(provider))] ref DefaultInterpolatedStringHandler handler).

PR Context

#18974

PR Checklist

@ghost ghost assigned iSazonov Jan 19, 2023
@iSazonov iSazonov added the CL-Performance Indicates that a PR should be marked as a performance improvement in the Change Log label Jan 19, 2023
@iSazonov iSazonov changed the title Use interpolated strings split 1 Use interpolated strings 1 Jan 19, 2023
@CarloToso CarloToso closed this Jan 19, 2023
@CarloToso CarloToso reopened this Jan 19, 2023
CarloToso and others added 5 commits January 20, 2023 13:12
…ameterSetViewModel.cs

Co-authored-by: Ilya <darpa@yandex.ru>
…uilder.cs

Co-authored-by: Ilya <darpa@yandex.ru>
…mandViewModel.cs

Co-authored-by: Ilya <darpa@yandex.ru>
…ameterSetViewModel.cs

Co-authored-by: Ilya <darpa@yandex.ru>
@iSazonov
Copy link
Collaborator

D:\a\1\s\src\System.Management.Automation\SourceGenerators\PSVersionInfoGenerator\PSVersionInfoGenerator.cs(14,18): warning RS1036: 'SMA.PSVersionInfoGenerator': A project containing analyzers or source generators should specify the property 'true' [D:\a\1\s\src\System.Management.Automation\SourceGenerators\PSVersionInfoGenerator\PSVersionInfoGenerator.csproj]

I guess this asks to add <EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules> in PSVersionInfoGenerator.csproj

D:\a\1\s\src\Microsoft.Management.UI.Internal\ShowCommand\Controls\ParameterSetControl.xaml.cs(164,112): error CS1501: No overload for method 'Create' takes 1 arguments [D:\a\1\s\src\Microsoft.Management.UI.Internal\Microsoft.PowerShell.GraphicalHost_l0ynpe1u_wpftmp.csproj]

Please fix.

…roxy.cs

Co-authored-by: Ilya <darpa@yandex.ru>
…ipleSelectionControl.xaml.cs

Co-authored-by: Ilya <darpa@yandex.ru>
@pull-request-quantifier-deprecated

This PR has 66 quantified lines of changes. In general, a change size of upto 200 lines is ideal for the best PR experience!


Quantification details

Label      : Small
Size       : +31 -35
Percentile : 26.4%

Total files changed: 16

Change summary by file extension:
.cs : +30 -35
.csproj : +1 -0

Change counts above are quantified counts, based on the PullRequestQuantifier customizations.

Why proper sizing of changes matters

Optimal pull request sizes drive a better predictable PR flow as they strike a
balance between between PR complexity and PR review overhead. PRs within the
optimal size (typical small, or medium sized PRs) mean:

  • Fast and predictable releases to production:
    • Optimal size changes are more likely to be reviewed faster with fewer
      iterations.
    • Similarity in low PR complexity drives similar review times.
  • Review quality is likely higher as complexity is lower:
    • Bugs are more likely to be detected.
    • Code inconsistencies are more likely to be detected.
  • Knowledge sharing is improved within the participants:
    • Small portions can be assimilated better.
  • Better engineering practices are exercised:
    • Solving big problems by dividing them in well contained, smaller problems.
    • Exercising separation of concerns within the code changes.

What can I do to optimize my changes

  • Use the PullRequestQuantifier to quantify your PR accurately
    • Create a context profile for your repo using the context generator
    • Exclude files that are not necessary to be reviewed or do not increase the review complexity. Example: Autogenerated code, docs, project IDE setting files, binaries, etc. Check out the Excluded section from your prquantifier.yaml context profile.
    • Understand your typical change complexity, drive towards the desired complexity by adjusting the label mapping in your prquantifier.yaml context profile.
    • Only use the labels that matter to you, see context specification to customize your prquantifier.yaml context profile.
  • Change your engineering behaviors
    • For PRs that fall outside of the desired spectrum, review the details and check if:
      • Your PR could be split in smaller, self-contained PRs instead
      • Your PR only solves one particular issue. (For example, don't refactor and code new features in the same PR).

How to interpret the change counts in git diff output

  • One line was added: +1 -0
  • One line was deleted: +0 -1
  • One line was modified: +1 -1 (git diff doesn't know about modified, it will
    interpret that line like one addition plus one deletion)
  • Change percentiles: Change characteristics (addition, deletion, modification)
    of this PR in relation to all other PRs within the repository.


Was this comment helpful? 👍  :ok_hand:  :thumbsdown: (Email)
Customize PullRequestQuantifier for this repository.

@CarloToso
Copy link
Contributor Author

@iSazonov Do we still need to fix something to merge this PR?

@iSazonov iSazonov merged commit 1b3b359 into PowerShell:master Jan 21, 2023
@CarloToso CarloToso deleted the Use-interpolated-strings-split-1 branch January 21, 2023 16:33
@ghost
Copy link

ghost commented Mar 14, 2023

🎉v7.4.0-preview.2 has been released which incorporates this pull request.:tada:

Handy links:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CL-Performance Indicates that a PR should be marked as a performance improvement in the Change Log Small

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants