SlideShare a Scribd company logo
DEVELOPERS
BEST PRACTICES
Software Development, Coding
Agenda
• What is Practice?
• Shooting, Driving, Writing
• Best Practices
What is
practice?
Practice?
• Practice is a Habit
• Practice is a routine
• Practice does not need to remember
• Practice comes by practicing
• Practice needs commitment and dedication
Examples
Shooting
Writing
Driving
Practice 1
Keep Reading Existing Software
Source Code
Let me ask you few basic questions
• Do you read movie magazines?
• Do you read newspapers?
• Do you read roadside advertisements?
• Do you read junk written here and there?
• Do you just read....?
Practice 1
Keep Reading Existing Software
Source Code
Let me ask you few basic questions
• Do you read movie magazines?
• Do you read newspapers?
• Do you read roadside advertisements?
• Do you read junk written here and there?
• Do you just read....?
Your Answer will be Positive
Practice 1
Keep Reading Existing Software
Source Code
Let me ask you few basic questions
• Do you read movie magazines?
• Do you read newspapers?
• Do you read roadside advertisements?
• Do you read junk written here and there?
• Do you just read....?
But if I ask you more questions in series
• Do you read Software Source Code?
Your Answer will be Positive
Practice 1
Keep Reading Existing Software
Source Code
Let me ask you few basic questions
• Do you read movie magazines?
• Do you read newspapers?
• Do you read roadside advertisements?
• Do you read junk written here and there?
• Do you just read....?
But if I ask you more questions in series
• Do you read Software Source Code?
Your Answer will be Positive
Only a few developers will have a positive answer
because reading and understanding an existing
software source code is the most boring task.
Practice 1
Keep Reading Existing Software
Source Code
If you want to become a novelist, can you
just start writing novels?
Practice 1
Keep Reading Existing Software
Source Code
If you want to become a novelist, can you
just start writing novels?
You definitely need to read hundreds of novels
before you start writing GOOD novels.
Practice 1
Keep Reading Existing Software
Source Code
If you want to become a novelist, can you
just start writing novels?
You definitely need to read hundreds of novels
before you start writing GOOD novels.
So, if you want to write a good software code,
then how it will be possible for you to write a
good source code without reading tons of
source codes? Even if you will write
something, then how would you know which is
the best?
Practice 2
Complete your documents before next
step
Best practice is to complete all the
required documentation and take
appropriate approvals before
proceeding for the software coding.
So, again it is one of the best practices to have
documentation as much as possible. Few important
documents, which will prepare you for the future are:
• Design Approaches
• Tips and Tricks
• Special functions, commands and instructions
• Lessons learnt
• Debugging methods
• Anything which can help you in future
Practice 2
Complete your documents before next
step
Best practice is to complete all the
required documentation and take
appropriate approvals before
proceeding for the software coding.
So, again it is one of the best practices to have
documentation as much as possible. Few important
documents, which will prepare you for the future are:
• Design Approaches
• Tips and Tricks
• Special functions, commands and instructions
• Lessons learnt
• Debugging methods
• Anything which can help you in future
Keeping documents electronically does not cost you. So let's start maintaining required documentation.
Tip
Functions
Practice 3
Follow the defined standards
Don't create it
Start following the defined standard
instead of creating or changing them
every day
Few Standards
• File Naming convention
• Function & Module Naming convention
• Variable Naming convention
• History, Indentation, Comments
• Readability guidelines
• List of do's and don'ts
Source code is your
Naming Conventions
Functions, Classes, Variables
Practice 4
Code should be written to be reviewed
While writing your software code, keep
in mind that someone is going to review
your code and you will have to face
criticism about one or more of the
following points but not limited to
• Bad coding
• Not following standard
• Not keeping performance in mind
• History, Indentation, and Comments are not
appropriate.
• Readability is poor
• Allocated memory has not been released
• Too many global variables.
• Too much hard coding.
• Poor error handling.
• No modularity.
• Repeated code
Bad vs Good code
Standards
Repeated code
Global Variables
Practice 5
Testing to be followed
Testing is mandatory after every small
or big change no matter how tight a
schedule you have or if you just
changed a small chunk of the code, you
have testing due for the changed code.
• Tight schedule, no compromise.
• Changed just a comment, still you have to test it.
• Changed just a variable name, testing has to be done.
• If you feel lazy...it's too dangerous.
Practice 6
Keep your Tools & Techniques Handy
It depends on what type of
programming, or coding you are doing
but following are few of the essential
tools, which should be readily available
with a software developer
Few Essential Tools
• A good text editor to write and edit the program.
• A nice debugger to debug the program.
• A memory detector in case you are using dynamic
memory allocation.
• Putty to connect to a remote machine.
• WinSCP, ATOM or FileZilla to FTP files on a remote
machine.
• IDE ( Integrated Development Environment) for rapid
development.
• Note keeping applications
Practice 6
Keep your Tools & Techniques Handy
It depends on what type of
programming, or coding you are doing
but following are few of the essential
tools, which should be readily available
with a software developer
Few Essential Tools
• A good text editor to write and edit the program.
• A nice debugger to debug the program.
• A memory detector in case you are using dynamic
memory allocation.
• Putty to connect to a remote machine.
• WinSCP, ATOM or FileZilla to FTP files on a remote
machine.
• IDE ( Integrated Development Environment) for rapid
development.
• Note keeping applications
Always keep adding new tools & techniques in your box
Practice 7
Leave the ego at door, Be eager to
learn
We always learn from books and
nowadays from internet. But IT is such a
field, where we learn a lot from our
colleagues.
If you want to sustain yourself in the market, then you
would have to keep yourself updated with the latest IT
tools and technologies. Following are the few sources:
• Technical Forums over the internet.
• Technical magazines on various IT subjects.
• Technical Bulletin Boards
• Conferences, Training, and Workshops
• Latest versions of old tools and packages, languages,
etc.
Best
Practices
Recape
Keep Reading Existing Software Source Code
Complete your documents before next step
Follow the defined standards, Don't create it
Code should be written to be reviewed
Testing to be followed
Keep your Tools & Techniques Handy
Leave the ego at door, Be eager to learn
Useful Tools
A way to step
through your code in
your IDE or editor
while the script is
executing.
Xdebug
A tool for finding
StackOverflow
answers and pasting
them into your code.
StackFinder
(VSCODE) Docker is a platform
designed to help
developers build,
share, and run
modern applications
Docker
ChatGPt is a chatbot
that interacts in a
conversational way.
You can ask
something and
ChatGpt will answer .
ChatGPT
FREE tools for
developers like
encoder/decoder,
HTML/CSS/Javascri
pt formatters & much
more.
Small Dev tools
Valuable
Github
Repositories
The Algorithms
https://github.com/TheAlgorithms
Project Base Learning
https://github.com/practical-tutorials/project-based-learning
Public API's
https://github.com/public-apis/public-apis
30 Seconds of code
https://github.com/30-seconds/30-seconds-of-code
Questions?
Thank you!

More Related Content

Similar to Developers Best Practices

Code smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software OdorsCode smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software Odors
Clint Edmonson
 
Dancing for a product release
Dancing for a product releaseDancing for a product release
Dancing for a product release
Laurent Cerveau
 
TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)
Nacho Cougil
 
Enterprise PHP
Enterprise PHPEnterprise PHP
Enterprise PHP
Mohammad Emran Hasan
 
11 rules for programmer should live by
11 rules for programmer should live by11 rules for programmer should live by
11 rules for programmer should live by
Ye Win
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovSvetlin Nakov
 
You cant be agile if your code sucks
You cant be agile if your code sucksYou cant be agile if your code sucks
You cant be agile if your code sucks
Peter Gfader
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelines
Lalit Kale
 
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
ssusercaf6c1
 
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
Nacho Cougil
 
Best pratice
Best praticeBest pratice
Best pratice
Eugenio Romano
 
Make a better with clean code
Make a better with clean codeMake a better with clean code
Make a better with clean code
Keattiwut Kosittaruk
 
Coding principles
Coding principles Coding principles
Coding principles
DevAdnani
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
Utkarsh Khare
 
Introducing Systems Analysis Design Development
Introducing Systems Analysis Design DevelopmentIntroducing Systems Analysis Design Development
Introducing Systems Analysis Design Developmentbsadd
 
How to become Softwar Enginneer
How to become Softwar EnginneerHow to become Softwar Enginneer
How to become Softwar Enginneer
Hieu Nguyen Duc
 
TDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekTDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech Week
Nacho Cougil
 
10 skills developers should invest in for 2014
10 skills developers should invest in for 201410 skills developers should invest in for 2014
10 skills developers should invest in for 2014
Pakorn Weecharungsan
 
Writing clean and maintainable code
Writing clean and maintainable codeWriting clean and maintainable code
Writing clean and maintainable code
Marko Heijnen
 

Similar to Developers Best Practices (20)

Code smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software OdorsCode smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software Odors
 
Dancing for a product release
Dancing for a product releaseDancing for a product release
Dancing for a product release
 
TDD and PhoneGap
TDD and PhoneGapTDD and PhoneGap
TDD and PhoneGap
 
TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)
 
Enterprise PHP
Enterprise PHPEnterprise PHP
Enterprise PHP
 
11 rules for programmer should live by
11 rules for programmer should live by11 rules for programmer should live by
11 rules for programmer should live by
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
You cant be agile if your code sucks
You cant be agile if your code sucksYou cant be agile if your code sucks
You cant be agile if your code sucks
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelines
 
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
 
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
 
Best pratice
Best praticeBest pratice
Best pratice
 
Make a better with clean code
Make a better with clean codeMake a better with clean code
Make a better with clean code
 
Coding principles
Coding principles Coding principles
Coding principles
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Introducing Systems Analysis Design Development
Introducing Systems Analysis Design DevelopmentIntroducing Systems Analysis Design Development
Introducing Systems Analysis Design Development
 
How to become Softwar Enginneer
How to become Softwar EnginneerHow to become Softwar Enginneer
How to become Softwar Enginneer
 
TDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekTDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech Week
 
10 skills developers should invest in for 2014
10 skills developers should invest in for 201410 skills developers should invest in for 2014
10 skills developers should invest in for 2014
 
Writing clean and maintainable code
Writing clean and maintainable codeWriting clean and maintainable code
Writing clean and maintainable code
 

Recently uploaded

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 

Recently uploaded (20)

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 

Developers Best Practices

  • 2. Agenda • What is Practice? • Shooting, Driving, Writing • Best Practices
  • 4. Practice? • Practice is a Habit • Practice is a routine • Practice does not need to remember • Practice comes by practicing • Practice needs commitment and dedication
  • 6. Practice 1 Keep Reading Existing Software Source Code Let me ask you few basic questions • Do you read movie magazines? • Do you read newspapers? • Do you read roadside advertisements? • Do you read junk written here and there? • Do you just read....?
  • 7. Practice 1 Keep Reading Existing Software Source Code Let me ask you few basic questions • Do you read movie magazines? • Do you read newspapers? • Do you read roadside advertisements? • Do you read junk written here and there? • Do you just read....? Your Answer will be Positive
  • 8. Practice 1 Keep Reading Existing Software Source Code Let me ask you few basic questions • Do you read movie magazines? • Do you read newspapers? • Do you read roadside advertisements? • Do you read junk written here and there? • Do you just read....? But if I ask you more questions in series • Do you read Software Source Code? Your Answer will be Positive
  • 9. Practice 1 Keep Reading Existing Software Source Code Let me ask you few basic questions • Do you read movie magazines? • Do you read newspapers? • Do you read roadside advertisements? • Do you read junk written here and there? • Do you just read....? But if I ask you more questions in series • Do you read Software Source Code? Your Answer will be Positive Only a few developers will have a positive answer because reading and understanding an existing software source code is the most boring task.
  • 10. Practice 1 Keep Reading Existing Software Source Code If you want to become a novelist, can you just start writing novels?
  • 11. Practice 1 Keep Reading Existing Software Source Code If you want to become a novelist, can you just start writing novels? You definitely need to read hundreds of novels before you start writing GOOD novels.
  • 12. Practice 1 Keep Reading Existing Software Source Code If you want to become a novelist, can you just start writing novels? You definitely need to read hundreds of novels before you start writing GOOD novels. So, if you want to write a good software code, then how it will be possible for you to write a good source code without reading tons of source codes? Even if you will write something, then how would you know which is the best?
  • 13. Practice 2 Complete your documents before next step Best practice is to complete all the required documentation and take appropriate approvals before proceeding for the software coding. So, again it is one of the best practices to have documentation as much as possible. Few important documents, which will prepare you for the future are: • Design Approaches • Tips and Tricks • Special functions, commands and instructions • Lessons learnt • Debugging methods • Anything which can help you in future
  • 14. Practice 2 Complete your documents before next step Best practice is to complete all the required documentation and take appropriate approvals before proceeding for the software coding. So, again it is one of the best practices to have documentation as much as possible. Few important documents, which will prepare you for the future are: • Design Approaches • Tips and Tricks • Special functions, commands and instructions • Lessons learnt • Debugging methods • Anything which can help you in future Keeping documents electronically does not cost you. So let's start maintaining required documentation.
  • 15. Tip
  • 17. Practice 3 Follow the defined standards Don't create it Start following the defined standard instead of creating or changing them every day Few Standards • File Naming convention • Function & Module Naming convention • Variable Naming convention • History, Indentation, Comments • Readability guidelines • List of do's and don'ts Source code is your
  • 19. Practice 4 Code should be written to be reviewed While writing your software code, keep in mind that someone is going to review your code and you will have to face criticism about one or more of the following points but not limited to • Bad coding • Not following standard • Not keeping performance in mind • History, Indentation, and Comments are not appropriate. • Readability is poor • Allocated memory has not been released • Too many global variables. • Too much hard coding. • Poor error handling. • No modularity. • Repeated code
  • 20. Bad vs Good code
  • 24. Practice 5 Testing to be followed Testing is mandatory after every small or big change no matter how tight a schedule you have or if you just changed a small chunk of the code, you have testing due for the changed code. • Tight schedule, no compromise. • Changed just a comment, still you have to test it. • Changed just a variable name, testing has to be done. • If you feel lazy...it's too dangerous.
  • 25. Practice 6 Keep your Tools & Techniques Handy It depends on what type of programming, or coding you are doing but following are few of the essential tools, which should be readily available with a software developer Few Essential Tools • A good text editor to write and edit the program. • A nice debugger to debug the program. • A memory detector in case you are using dynamic memory allocation. • Putty to connect to a remote machine. • WinSCP, ATOM or FileZilla to FTP files on a remote machine. • IDE ( Integrated Development Environment) for rapid development. • Note keeping applications
  • 26. Practice 6 Keep your Tools & Techniques Handy It depends on what type of programming, or coding you are doing but following are few of the essential tools, which should be readily available with a software developer Few Essential Tools • A good text editor to write and edit the program. • A nice debugger to debug the program. • A memory detector in case you are using dynamic memory allocation. • Putty to connect to a remote machine. • WinSCP, ATOM or FileZilla to FTP files on a remote machine. • IDE ( Integrated Development Environment) for rapid development. • Note keeping applications Always keep adding new tools & techniques in your box
  • 27. Practice 7 Leave the ego at door, Be eager to learn We always learn from books and nowadays from internet. But IT is such a field, where we learn a lot from our colleagues. If you want to sustain yourself in the market, then you would have to keep yourself updated with the latest IT tools and technologies. Following are the few sources: • Technical Forums over the internet. • Technical magazines on various IT subjects. • Technical Bulletin Boards • Conferences, Training, and Workshops • Latest versions of old tools and packages, languages, etc.
  • 28. Best Practices Recape Keep Reading Existing Software Source Code Complete your documents before next step Follow the defined standards, Don't create it Code should be written to be reviewed Testing to be followed Keep your Tools & Techniques Handy Leave the ego at door, Be eager to learn
  • 29. Useful Tools A way to step through your code in your IDE or editor while the script is executing. Xdebug A tool for finding StackOverflow answers and pasting them into your code. StackFinder (VSCODE) Docker is a platform designed to help developers build, share, and run modern applications Docker ChatGPt is a chatbot that interacts in a conversational way. You can ask something and ChatGpt will answer . ChatGPT FREE tools for developers like encoder/decoder, HTML/CSS/Javascri pt formatters & much more. Small Dev tools
  • 30. Valuable Github Repositories The Algorithms https://github.com/TheAlgorithms Project Base Learning https://github.com/practical-tutorials/project-based-learning Public API's https://github.com/public-apis/public-apis 30 Seconds of code https://github.com/30-seconds/30-seconds-of-code