Tags
Language
Tags
June 2025
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Programming Practices For Software Engineers

    Posted By: ELK1nG
    Programming Practices For Software Engineers

    Programming Practices For Software Engineers
    Published 1/2023
    MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
    Language: English | Size: 2.10 GB | Duration: 6h 46m

    Master software engineering practices to improve your code quality and efficiency. Design for future without complexity!

    What you'll learn

    Interface design principles in depth

    Software practices to write readable and production ready code

    Programming practices applicable to every programming language

    Principles to follow while tackling niche problems like performance and debugging

    Importance of programming practices in building high performance code without making the code unreadable

    Requirements

    Basic knowledge about any programming language. You will learn the principles needed to shape your skills into potent practices.

    A working knowledge about software development in general. Ability to appreciate iterative nature of design will come in handy.

    Simple snippets of few lines used as examples and quick checks.

    No particular programming language is targetted. If you have practiced with any programming language in past 6 months you can understand everything in the course!

    If you have recently learned your first programming language, just be patient with the content. It will definitely add focus to whatever project you pick up next.

    Description

    Welcome to the "Programming Practices for Software Engineers" course on Udemy!In this course, you will learn the best programming practices that every software engineer should know. In addition, we will cover code organization, testing, debugging, performance, notation, and refactoring.Throughout the course, you will work on hands-on exercises to apply these concepts and improve your programming skills. We will also cover how to work in a team and collaborate with other software engineers.By the end of this course, you will have a solid understanding of the programming practices that will help you become a successful software engineer. In addition, you will be able to write clean, efficient, and well-organized code and have the skills to work effectively in a team environment.This course suits software engineers of all levels, from beginners to experienced professionals. No programming experience is required, but familiarity with a programming language would be helpful. So, if you want to improve your programming skills and become a better software engineer, this course is for you!Why are programming practices needed?Programming practices are essential in software engineering because they help ensure that the software is high quality, easy to maintain, and easy to modify. Some examples of programming practices that are important in software engineering include:Writing clean, well-documented code helps other developers understand and work with the code more easily.Using version control: This allows developers to track changes to the code over time and makes it easier to collaborate with other team members. Making readable code changes makes the version control a repository to understand the evolution of code.Adhering to coding standards: This helps to ensure that the code is consistent and easy to read, which makes it easier to maintain and modify.Automating testing: This helps catch bugs early and ensures that the code is high quality.Using consistent programming practices helps make the code more reusable and easier to understand while debugging and tuning.Overall, good programming practices can help to improve the efficiency and effectiveness of software development, which can lead to better software products.

    Overview

    Section 1: Introduction

    Lecture 1 Objective

    Lecture 2 Sincere Request before getting started

    Section 2: Programming Style

    Lecture 3 Programming Style : Section Introduction

    Lecture 4 Why programming style matters?

    Lecture 5 Naming : Desired Characteristics

    Lecture 6 Naming Practices : Variable names - 1

    Lecture 7 Naming Practices : Variable names - 2

    Lecture 8 Naming Practices : Variable names - 3

    Lecture 9 Naming Practices : Function Names

    Lecture 10 Naming Practices : Importance of being accurate

    Lecture 11 Expressions and Statements : Indentation

    Lecture 12 Expressions and Statements : Natural Expression

    Lecture 13 Expressions and Statements : Parantheses

    Lecture 14 Expressions and Statements : Complexity

    Lecture 15 Expressions and Statements : Side Effects

    Lecture 16 Consistency and Idioms : Overview

    Lecture 17 Consistency and Idioms : Loops

    Lecture 18 Consistency and Idioms : else if

    Lecture 0 Quick check

    Lecture 19 Macros

    Lecture 20 Magic Numbers

    Lecture 21 Code Comments

    Lecture 22 Section Summary

    Section 3: Algorithms and Data Structures w.r.t Programming Practices

    Lecture 23 Algorithms and Data Strcutures : Section Introduction

    Lecture 24 Necessity to understand practices around data structures and algorithms

    Lecture 25 Algorithms : Search

    Lecture 26 Algorithms : Sorting

    Lecture 27 Algorithms : Libraries

    Lecture 28 Algorithms : O - Notation

    Lecture 29 Data Strcutures : Dynamic Arrays

    Lecture 30 Data Strcutures : Lists

    Lecture 31 Data Strcutures : Trees

    Lecture 32 Data Strcutures : Hash Tables

    Lecture 33 Algorithms & Data Strcutures : Summary

    Section 4: Interface Design : Programming practices and principles with example

    Lecture 0 Sort quick check

    Lecture 34 Interface Design : Section Introduction

    Lecture 35 Design and Implementation in general

    Lecture 36 Introduction to interface design programming practices

    Lecture 37 Interface Example : Prototype design version

    Lecture 38 Design considerations

    Lecture 39 Interface Example : Library

    Lecture 40 Interface Specifications

    Lecture 41 Interface Design : General Principles

    Lecture 42 Hiding implementation a.k.a abstraction

    Lecture 43 Interface Design : General Principles extended

    Lecture 44 Resource Management programming practices

    Lecture 45 Error Handling programming practices

    Lecture 46 User Interfaces

    Section 5: Debugging: Navigating the development and production

    Lecture 47 Debugging : Section Introduction

    Lecture 48 Debugging practices overview

    Lecture 49 Debuggers in general

    Lecture 50 Debugging practices for easy bugs

    Lecture 51 Debugging practices for hard bugs

    Lecture 52 Debugging Challenges

    Section 6: Testing : Programming practices beyond roles and designations

    Lecture 53 Software Testing: Section Introduction

    Lecture 54 Testing Overview

    Lecture 55 Test as you code or Test Driven Development

    Lecture 56 Test Automation

    Lecture 57 Systematic testing practices

    Lecture 58 Considerations while software testing in general

    Lecture 59 Ownership of testing

    Section 7: Performance: Measure what matters. Fix only what matters!

    Lecture 60 Software Performance : Section Introduction

    Lecture 61 Performance practices overview

    Lecture 62 Basic steps to appraoching performance issues

    Lecture 63 Guideline programming practices for dealing with performance improvement

    Lecture 64 Timing and profiling for performance

    Lecture 65 Performance improvement strategies

    Lecture 66 Code tuning for better performance

    Lecture 67 Estimation

    Lecture 68 Optimal space utilization for better performance

    Section 8: Portability: Practices to ensure code works everywhere

    Lecture 69 Software Portability: Section Introduction

    Lecture 70 Overview

    Lecture 71 Role of language in portability

    Lecture 72 Environmental factors to be considered in practices dealing with portability

    Lecture 73 Role of system interface and practices to handle the portability concerns

    Section 9: Notation: Being proactive is the only way!

    Lecture 74 Notation: Section Introduction

    Lecture 75 Overview

    Lecture 76 Programming Language

    Lecture 77 Data formatting practices

    Lecture 78 Regular Expressions

    Lecture 79 Programmable tools

    Lecture 80 Tool chains: Compilers, Interpreters, Virtual Machines

    Lecture 81 Code Generation

    Lecture 82 Just in Time compilation

    Section 10: Conclusion

    Lecture 83 Closing remarks.

    Lecture 84 [Bonus Lecture]

    Beginner and intermediate experience developers. No language bar all Python, Java, Scala, C++, Rust, GoLang, Javascript, etc. developers will benefit from the practices and principles being shared in the course.,Software professional with 4-8 years of experience will benefit from the practices to take back to their teams,Students learning programming language can use the additional design perspective from the course for their upcoming project.,All developers curious about programming and software practices that make systems robust and scalable for decades,Programmers looking to upskill in their career by building expertise in software design and productive software engineering.