Flag optional arguments on methods that differ from their interface declarations
Mantenedores costumam responder em até 1 dia
@GrantErickson já está trabalhando nisso.
Desde 10/4/2020.
Avaliação
Esta issue ainda não foi avaliada.
Descrição
Consider the following case:
public class Foo : IFoo
{
public void Bar(int value = 2) => Console.WriteLine(value);
}
public interface IFoo
{
public void Bar(int value = 1);
}
public static void Main(string[] args)
{
IFoo foo1 = new Foo();
foo1.Bar();
var foo2 = new Foo();
foo2.Bar();
}
Output:
2
1
I would propose that the coding standard be
DO NOT: declare optional arguments on class methods that are implementing an interface.
Rational:
- If these value are not in sync it will cause behavior as shown above.
- It is possible to declare a constant and share it in both places. However, if you have an interface for accessing the class, why is there code bypassing it? If you want to invoke the method using the default value, simply go through the interface.
- Linguagem predominante
- C#
- Estrelas
- 12
- Forks
- 16
- Merge médio
- 5min
- PRs com merge (30d)
- 12
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de IntelliTect/CodingGuidelines
-
Overriding ToString()Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 25/100
IntelliTect/CodingGuidelines#290 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 45/100
IntelliTect/CodingGuidelines#253 ·
Mantenedores costumam responder em até 1 dia
-
Review naming recommendation for fieldsTalvez livre de novo @MarkMichaelis assumiu há 1336 dias e não há nenhum pull request aberto. Aberta.editorconfig C# coding guidelines proposal
IntelliTect/CodingGuidelines#249 · 6 comentários · 1 reação · 2 responsáveis ·
Mantenedores costumam responder em até 1 dia
-
INTL0001 when using recordsAbertaanalyzer C# coding guidelines proposal
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
IntelliTect/CodingGuidelines#231 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
IntelliTect/CodingGuidelines#230 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de IntelliTect/CodingGuidelines
Issues semelhantes
-
area-signalr
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
dotnet/aspnetcore#69842 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
Mantenedores costumam responder em até 2 dias
-
bug needs-triage
Dificuldade 2/5 Menos de uma hora Facilidade para iniciantes 78/100
microsoft/microsoft-ui-reactor#1373 ·
Mantenedores costumam responder em até 1 dia
-
Client customer-reported KeyVault needs-team-attention question Service Attention
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Azure/azure-sdk-for-net#63861 · 3 comentários · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
:watch: Not Triaged dotnet-csharp/svc fundamentals/subsvc
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia