All Projects → kimquy → top-software-engineering-articles

kimquy / top-software-engineering-articles

Licence: CC0-1.0 License
Collection of top articles about great software engineering practices.

Projects that are alternatives of or similar to top-software-engineering-articles

Abstractionlayers
Abstraction Layers
Stars: ✭ 16 (-64.44%)
Mutual labels:  engineering, programming, architecture, software
Letters
Письма к студентам курса
Stars: ✭ 107 (+137.78%)
Mutual labels:  engineering, programming, software
Index
Metarhia educational program index 📖
Stars: ✭ 2,045 (+4444.44%)
Mutual labels:  engineering, programming, architecture
Certification
Certificates of Qualification in Software Engineering
Stars: ✭ 41 (-8.89%)
Mutual labels:  engineering, programming, software
Bookmarks
🔖 +4.3K awesome resources for geeks and software crafters 🍺
Stars: ✭ 210 (+366.67%)
Mutual labels:  programming, software, articles
landscape-of-programming
This repo aim to show you what to learn on the way to excellence.
Stars: ✭ 67 (+48.89%)
Mutual labels:  engineering, programming, architecture
Reverse Engineering Tutorials
Some Reverse Engineering Tutorials for Beginners
Stars: ✭ 217 (+382.22%)
Mutual labels:  engineering, programming
How Companies Hire
An inside look into how top tech companies hire
Stars: ✭ 234 (+420%)
Mutual labels:  engineering, design
node-red-contrib-FIWARE official
FIWARE-Node-Red integration supporting NGSI-LD
Stars: ✭ 14 (-68.89%)
Mutual labels:  engineering, programming
resources
Awesome resources - 网络资源
Stars: ✭ 27 (-40%)
Mutual labels:  programming, software
Nokia Book
NOKIA Book covers selected aspects of the telecommunication industry programmer's work
Stars: ✭ 87 (+93.33%)
Mutual labels:  engineering, software
cs-sakaryauniversity
Sakarya Üniversitesi'nde okuduğum süre boyunca karşıma çıkan tüm ödevler, ders notları ve çıkmış sınav soruları (All the assignments, lecture notes and exams)
Stars: ✭ 133 (+195.56%)
Mutual labels:  engineering, programming
blog
No description or website provided.
Stars: ✭ 33 (-26.67%)
Mutual labels:  programming, articles
tutorials as code
so that stuff read/seen don't get muddled up with time
Stars: ✭ 42 (-6.67%)
Mutual labels:  programming, articles
Freecad
This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler. Issues are managed on our own bug tracker at https://www.freecadweb.org/tracker
Stars: ✭ 10,366 (+22935.56%)
Mutual labels:  engineering, architecture
redd.one
Software engineering blog.
Stars: ✭ 31 (-31.11%)
Mutual labels:  engineering, software
company-engineering-blogs
A collection of companies' engineering blogs, to help you improve your software engineering skill and learn how their software work. 📖🛠
Stars: ✭ 108 (+140%)
Mutual labels:  engineering, articles
ResourceCollection
A collection of handy resources, as recommended by Pharap
Stars: ✭ 18 (-60%)
Mutual labels:  programming, articles
awesome-aha
Awesome list for "Aha!" moments related to programming and computer science. Accelerate your learning.
Stars: ✭ 77 (+71.11%)
Mutual labels:  engineering, software
Design Patterns For Humans
An ultra-simplified explanation to design patterns
Stars: ✭ 32,376 (+71846.67%)
Mutual labels:  engineering, architecture

Top Software Engineering Articles

Software engineering

  • Designing something S.O.L.I.D - The SOLID principles are fundamental to explaining a part of what clean code is, but sometimes explaining what SOLID means is a task in itself.

  • Write code that is easy to delete, not easy to extend. - Every line of code written comes at a price: maintenance. To avoid paying for a lot of code, we build reusable software. The problem with code re-use is that it gets in the way of changing your mind later on.

  • The hardest problem in computer science - …is, of course, naming. Not just naming variables or new technologies. Oh no. We can’t even agree on names for basic concepts.

  • Goodbye, Object Oriented Programming - Well, OO sure promised a lot in the early days. And these promises are still being made to naive programmers sitting in classrooms, reading blogs and taking online courses. It’s taken me years to realize how OO lied to me. I too was wide-eyed and inexperienced and trusting.

  • Use Your Type System; Write Less Code - how types can influence readability and good design. He also gives a practical example of the concept of "Behaviour Attractor"

  • REST APIs must be hypertext-driven - rules before calling your creation a REST API

  • The Software Developer’s Library: A Treasure Trove of Books for People Who Love Code - A treasure trove of books for people who love code. Curated by Eric Elliott.

  • The Tools of a Blind Programmer - Software Craftsmanship to the nth degree. Read this and think how much do you master your tools?

  • The Core 6 Refactorings - The most important set to learn are the Core 6 Refactorings, plus 3 critical utility functions. These 9 operations will allow you to do the most important part of working with indebted code: read by refactoring. Fluency in these 9 is all you need.

  • I'm a good engineer but I suck at building stuff - When I try to build something new, I find myself instantly criticizing my technique, to the point of paralysis. [...] obsessing, like Catt said, over my own construct, rather than on the thing my code does.

  • How to Write a Git Commit Message - The seven rules of a great Git commit message.

  • COHESION - THE CORNERSTONE OF SOFTWARE DESIGN - Cohesion is one of the most important concepts in software design. Cohesion is at the core of the vast majority of good design principles and patterns out there, guiding separation of concerns and maintainability. The term cohesion (alongside coupling) was first introduced by Larry Constantine in the late 60s as part of Structured Design and later published in more details by W. Stevens, G. Myers, and L. Constantine in 1974. Due to the growing complexity and cost of software back in the 60s, 70s, and 80s, loads of studies and research around software design and maintainability were done. Although we can still find some of these papers and research online today, they were done in a pre-Internet era and most of the work done during that period is either lost or not easily available.

  • Normalization of deviance in software: how broken practices become standard

  • Refactoring Large Software Systems - Refactoring a software system means to refurbish it internally without interfering with its external properties. In his famous book Martin Fowler defines refactoring as follows

  • Scrum is dead: Breaking down the new open development method

  • Lessons Learned in Software Development Here is the list of heuristics and rules of thumb for software development.

  • What Makes a Good Programmer? What makes a good programmer? It’s an interesting question to ask yourself. It makes you reflect on the craft of software development. It is also a good question to ask your colleagues. It can trigger some interesting discussions on how you work together. Here are five skills I think are crucial to have in order to be a good programmer.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].