SlideShare a Scribd company logo
1 of 32
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 OdorsClint Edmonson
 
Dancing for a product release
Dancing for a product releaseDancing for a product release
Dancing for a product releaseLaurent 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
 
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 byYe 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 sucksPeter Gfader
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelinesLalit 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
 
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 ProgrammingUtkarsh 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 EnginneerHieu 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 WeekNacho 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 2014Pakorn Weecharungsan
 
Writing clean and maintainable code
Writing clean and maintainable codeWriting clean and maintainable code
Writing clean and maintainable codeMarko 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

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 

Recently uploaded (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 

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