Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Good Software Practices
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Chris Ayers
October 20, 2018
Technology
0
85
Good Software Practices
A discussion of good software practices across a range of topics.
Chris Ayers
October 20, 2018
Tweet
Share
More Decks by Chris Ayers
See All by Chris Ayers
DevOps and Cloud Days - DevOvs is More than Dev and Ops
cayers
0
150
Dependency Injection and Unit Testing in .Net Core
cayers
0
160
Devops is more than a Title
cayers
0
400
Automate Azure DevOps
cayers
0
390
ASP.Net Core - Shift Left and Start Out Right
cayers
0
230
Application Insights
cayers
0
200
Dependency Injection & Unit Testing
cayers
0
160
Other Decks in Technology
See All in Technology
AI実装による「レビューボトルネック」を解消する仕様駆動開発(SDD)/ ai-sdd-review-bottleneck
rakus_dev
0
110
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
5
1.1k
タスク管理も1on1も、もう「管理」じゃない ― KiroとBedrock AgentCoreで変わった"判断の仕事"
yusukeshimizu
5
2.6k
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
3
1.7k
ランサムウエア対策してますか?やられた時の対策は本当にできてますか?AWSでのリスク分析と対応フローの泥臭いお話。
hootaki
0
110
SRE NEXT 2026 CfP レビュアーが語る聞きたくなるプロポーザルとは?
yutakawasaki0911
1
250
決済サービスを支えるElastic Cloud - Elastic Cloudの導入と推進、決済サービスのObservability
suzukij
2
610
Claude Code 2026年 最新アップデート
oikon48
10
8.4k
「Blue Team Labs Online」入門 - みんなで挑むログ解析バトル
v_avenger
0
150
生成AIの利用とセキュリティ /gen-ai-and-security
mizutani
1
1.6k
非情報系研究者へ送る Transformer入門
rishiyama
11
7.2k
vLLM Community Meetup Tokyo #3 オープニングトーク
jpishikawa
0
330
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
930
The agentic SEO stack - context over prompts
schlessera
0
690
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
Typedesign – Prime Four
hannesfritz
42
3k
Six Lessons from altMBA
skipperchong
29
4.2k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
140
Color Theory Basics | Prateek | Gurzu
gurzu
0
250
Designing for Performance
lara
611
70k
The untapped power of vector embeddings
frankvandijk
2
1.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Transcript
Good Software Development Practices An overview of Industry Best Practices
About Me Email:
[email protected]
Twitter: @Chris_L_Ayers LinkedIn: /in/chris-l-ayers/ Blog: https://chrislayers.com/
Topics • Why? • Software Architecture • Software Development •
Testing • Deployment • Tools
Why? • Maintainability • Dependability • Efficiency • Scalability •
Usability
Why? “How does a project get to be a year
late?... One day at a time. ” -- Fred Brooks Brooks Law: "Adding manpower to a late software project makes it later!“ “No matter what the problem is, it's always a people problem.” --Gerald M. Weinberg
None
Design Patterns • Observer Pattern • Strategy Pattern • Adapter
Pattern • Builder Pattern • Singleton Pattern • Factory Pattern • Decorator Pattern
Architectures • Layered (n-tier) architecture • Event-driven architecture • Microkernel
architecture • Microservices architecture • Command and Query Responsibility Segregation • Event Sourcing
Inversion of Control & Dependency Injection • Clarity • Modularity
• Testability • Different Implementations
Cohesion • Functional • Sequential • Communicational • Temporal •
Logical • Coincidental
Coupling • Content • Common (global) • External • Control
• Stamp • Data • Uncoupled
Software Development “ If debugging is the process of removing
software bugs, then programming must be the process of putting them in. ” - Edsger Dijkstra
Source Control • Version Control System - (SVN/TFS/GIT) • Branching
/ Merging Standards • Feature Flags • Commit Message Standards • Check-in Policy • Continuous Integration
Branching Strategies Branch per Release Branch per Component
Coding
Coding Standards • Spaces vs Tabs • EditorConfig • Naming
Conventions • New Lines / Braces / Commas • Indenting • Comments • Magic Numbers
Code Reviews Does the code build? Does it run without
errors? Does it follow coding standards? Does it follow naming standards?
Testing • Frameworks • Mocks and Fakes • Unit Testing
• Integration Testing • Regression Testing • Automated UI Testing • Integration with Source Control
Continuous Integration • Automated Builds • Parameterized builds • Automated
Deploys • Repeatable deployments
Monitoring • Application Insights • Splunk • New Relic •
Retrace
Tools • Visual Studio / Eclipse / IdeaJ / Sublime
• Resharper • Linqpad / Notepad • Command Line – NodeJs / Grunt / Gulp • Browsers – Modern.IE (Microsoft VMs) • Developer Tools / Page Speed
Continuing Education • Blogs • RSS Feeds • Meetups •
Books • Articles • Training Sessions • Code Camps • Coding at home
None