BEST PRACTICE 1:
.NET Core Best Practices
Discover the best practices for developing high-quality .NET Core applications with our comprehensive guide. From architecture and design patterns to testing and deployment, we cover everything you need to know to build robust and scalable applications that meet the demands of modern software development. Whether you're a seasoned developer or just getting started with .NET Core, our best practices will help you optimize your workflow and deliver exceptional results.
BEST PRACTICE 2:
Check injected arguments for null using a helper method that supports fluent syntax
BEST PRACTICE 3:
Utilize static code analysis and linters in your CI pipeline
BEST PRACTICE 4:
Utilize static code analysis and linters in your IDE
BEST PRACTICE 5:
Keep Your Dependencies Up-to-Date
BEST PRACTICE 6:
Prioritize Unit Testing
BEST PRACTICE 7:
Write Clean, Readable Code
BEST PRACTICE 8:
Embrace the Latest .NET Framework Versions
BEST PRACTICE 9:
Prefer composition over inheritance
BEST PRACTICE 10:
Don't use abbreviations, use full names instead
BEST PRACTICE 11:
Name your variables, methods, classes properly
BEST PRACTICE 12:
Minimize Large Object Allocations
BEST PRACTICE 13:
Avoid Blocking Calls
BEST PRACTICE 14:
Delete unused and dead code
BEST PRACTICE 15:
Do Refactoring for Auto-generated Code
BEST PRACTICE 16:
Enable Compression
BEST PRACTICE 17:
Use Environment-based settings
BEST PRACTICE 18:
Use a centralized logging solution
BEST PRACTICE 19:
Profile your application, especially the data access layer
BEST PRACTICE 20:
Profile your application, especially data access layer
BEST PRACTICE 21:
Monitor and Optimize Resource Usage
BEST PRACTICE 22:
Use OpenAPI/Swagger with API design first principle
BEST PRACTICE 23:
Use Entity Framework Core
BEST PRACTICE 24:
Use Health Checks
BEST PRACTICE 25:
Make use of Logging Levels
BEST PRACTICE 26:
Use integration testing to test the entire system and ensure components work together
BEST PRACTICE 27:
Use the factory pattern to create objects dynamically and improve flexibility.
BEST PRACTICE 28:
Use the repository pattern to abstract data access and improve maintainability
BEST PRACTICE 29:
Use inversion of control to decouple components and improve testability
BEST PRACTICE 30:
Use validation to ensure data integrity and prevent security vulnerabilities
BEST PRACTICE 31:
Use encryption to protect sensitive data
BEST PRACTICE 32:
Use caching to improve performance and reduce database calls
BEST PRACTICE 33:
Use exception handling to gracefully handle errors and prevent crashes
BEST PRACTICE 34:
Use continuous integration and deployment to automate the build and deployment process
BEST PRACTICE 35:
Use unit testing to ensure code quality and catch bugs early
BEST PRACTICE 36:
Use version control to manage code changes and collaborate with others
BEST PRACTICE 37:
Use middleware to add cross-cutting concerns such as authentication and caching
BEST PRACTICE 38:
Use configuration files to manage application settings
BEST PRACTICE 39:
Use logging to track errors and debug issues
BEST PRACTICE 40:
Use LINQ to simplify data querying and manipulation
BEST PRACTICE 41:
Use async/await to improve performance and responsiveness
BEST PRACTICE 42:
Follow SOLID principles to write maintainable and scalable code
BEST PRACTICE 43:
Use dependency injection to manage dependencies and improve testability
BEST PRACTICE 44:
Always check what T-SQL is generated by Entity Framework and that filters are applied correctly
BEST PRACTICE 45:
Make Startup class as readable as possible
- Become a Best practice hero.Help us to grow the catalogue of best practices.
Recently added best practices
Anonymous
flex-box
flex-box
Anonymous
flex-box
flex-box
Anonymous
a
a
Anonymous
hello
hello
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
LaceJaguar65
e
e
Chat
Oh, the operator is not available. Leave us your comments. We will answer all your questions as soon as possible.
RiceHawk18
e
e
RiceHawk18
@@xeDO0
@@xeDO0
RiceHawk18
1'"
1'"
RiceHawk18
e'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
e'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
RiceHawk18
L7oVYP7m')) OR 312=(SELECT 312 FROM PG_SLEEP(15))--
L7oVYP7m')) OR 312=(SELECT 312 FROM PG_SLEEP(15))--
RiceHawk18
A1v25QPv') OR 393=(SELECT 393 FROM PG_SLEEP(15))--
A1v25QPv') OR 393=(SELECT 393 FROM PG_SLEEP(15))--
RiceHawk18
kxT46vOm' OR 479=(SELECT 479 FROM PG_SLEEP(15))--
kxT46vOm' OR 479=(SELECT 479 FROM PG_SLEEP(15))--
RiceHawk18
VTgcz37T'; waitfor delay '0:0:15' --
VTgcz37T'; waitfor delay '0:0:15' --
RiceHawk18
1 waitfor delay '0:0:15' --
1 waitfor delay '0:0:15' --
RiceHawk18
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
RiceHawk18
0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
RiceHawk18
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
RiceHawk18
if(now()=sysdate(),sleep(15),0)
if(now()=sysdate(),sleep(15),0)
RiceHawk18
-1" OR 3+906-906-1=0+0+0+1 --
-1" OR 3+906-906-1=0+0+0+1 --
RiceHawk18
-1" OR 2+906-906-1=0+0+0+1 --
-1" OR 2+906-906-1=0+0+0+1 --
RiceHawk18
-1' OR 3+316-316-1=0+0+0+1 or '8BoDIAd6'='
-1' OR 3+316-316-1=0+0+0+1 or '8BoDIAd6'='
RiceHawk18
-1' OR 2+316-316-1=0+0+0+1 or '8BoDIAd6'='
-1' OR 2+316-316-1=0+0+0+1 or '8BoDIAd6'='
RiceHawk18
-1' OR 3+137-137-1=0+0+0+1 --
-1' OR 3+137-137-1=0+0+0+1 --
RiceHawk18
-1' OR 2+137-137-1=0+0+0+1 --
-1' OR 2+137-137-1=0+0+0+1 --
RiceHawk18
-1 OR 3+877-877-1=0+0+0+1
-1 OR 3+877-877-1=0+0+0+1
RiceHawk18
-1 OR 2+877-877-1=0+0+0+1
-1 OR 2+877-877-1=0+0+0+1
RiceHawk18
-1 OR 3+418-418-1=0+0+0+1 --
-1 OR 3+418-418-1=0+0+0+1 --
RiceHawk18
-1 OR 2+418-418-1=0+0+0+1 --
-1 OR 2+418-418-1=0+0+0+1 --
RiceHawk18
e
e
RiceHawk18
e
e