<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>code best practices Archives - Francesco Lelli %</title> <atom:link href="https://francescolelli.info/tag/code-best-practices/feed/" rel="self" type="application/rss+xml" /><link>https://francescolelli.info/tag/code-best-practices/</link> <description>Information Management, Computer Science,  Economics, Finance and more</description> <lastBuildDate>Sat, 19 Aug 2023 14:59:51 +0000</lastBuildDate> <language>en-US</language> <sy:updatePeriod> hourly </sy:updatePeriod> <sy:updateFrequency> 1 </sy:updateFrequency> <generator>https://wordpress.org/?v=6.8.5</generator><image> <url>https://francescolelli.info/wp-content/uploads/2018/11/cropped-InstrumentElement-32x32.jpg</url><title>code best practices Archives - Francesco Lelli %</title><link>https://francescolelli.info/tag/code-best-practices/</link> <width>32</width> <height>32</height> </image> <site
xmlns="com-wordpress:feed-additions:1">156264324</site> <item><title>How to write clean code by Uncle Bob (Robert Cecil Martin)</title><link>https://francescolelli.info/tutorial/how-to-write-clean-code-by-uncle-bob-robert-cecil-martin/</link> <comments>https://francescolelli.info/tutorial/how-to-write-clean-code-by-uncle-bob-robert-cecil-martin/#respond</comments> <dc:creator><![CDATA[Francesco Lelli]]></dc:creator> <pubDate>Wed, 02 Sep 2020 11:27:26 +0000</pubDate> <category><![CDATA[Programming]]></category> <category><![CDATA[Software Engineering]]></category> <category><![CDATA[Tutorial]]></category> <category><![CDATA[agile]]></category> <category><![CDATA[code best practices]]></category> <category><![CDATA[comments in code]]></category> <category><![CDATA[project management]]></category> <category><![CDATA[Robert Martin]]></category> <category><![CDATA[software architecture]]></category> <category><![CDATA[Uncle Bob]]></category> <guid
isPermaLink="false">https://francescolelli.info/?p=2076</guid><description><![CDATA[<p>This is a collection of videos by Uncle Bob (Robert Cecil Martin) on how to write clean code. He is an American software engineer, instructor, and best-selling author. He developed several software design principles and co-founded the Agile Manifesto. There is more to object oriented programming. If you want to be able to write code [&#8230;]</p><p>The post <a
href="https://francescolelli.info/tutorial/how-to-write-clean-code-by-uncle-bob-robert-cecil-martin/">How to write clean code by Uncle Bob (Robert Cecil Martin)</a> appeared first on <a
href="https://francescolelli.info">Francesco Lelli</a>.</p> ]]></description> <content:encoded><![CDATA[<p>This is a collection of videos by Uncle Bob (Robert Cecil Martin) on how to write clean code. He is an American software engineer, instructor, and best-selling author. He developed several software design principles and co-founded the Agile Manifesto.</p><figure
class="wp-block-image size-large"><img
fetchpriority="high" decoding="async" width="800" height="533" data-attachment-id="2078" data-permalink="https://francescolelli.info/tutorial/how-to-write-clean-code-by-uncle-bob-robert-cecil-martin/attachment/clean-code/" data-orig-file="https://francescolelli.info/wp-content/uploads/2020/09/Clean-Code.jpeg" data-orig-size="800,533" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Clean-Code" data-image-description="" data-image-caption="" data-medium-file="https://francescolelli.info/wp-content/uploads/2020/09/Clean-Code-300x200.jpeg" data-large-file="https://francescolelli.info/wp-content/uploads/2020/09/Clean-Code.jpeg" src="https://francescolelli.info/wp-content/uploads/2020/09/Clean-Code.jpeg?8011c3&amp;8011c3" alt="How to write clean code by Uncle Bob" class="wp-image-2078" srcset="https://francescolelli.info/wp-content/uploads/2020/09/Clean-Code.jpeg 800w, https://francescolelli.info/wp-content/uploads/2020/09/Clean-Code-300x200.jpeg 300w, https://francescolelli.info/wp-content/uploads/2020/09/Clean-Code-768x512.jpeg 768w, https://francescolelli.info/wp-content/uploads/2020/09/Clean-Code-600x400.jpeg 600w" sizes="(max-width: 800px) 100vw, 800px" /></figure><p>There is more to object oriented programming. If you want to be able to write code that you can re-use 2 weeks after, you want to put attention to how to write good quality code. This activity takes time, but if you want to be able to look back at what you have done (and you want it!) you have to pay the price.</p><figure
class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div
class="wp-block-embed__wrapper"> <iframe
title="Clean Code - Uncle Bob / Lesson 1" width="800" height="450" src="https://www.youtube.com/embed/7EmboKQH8lM?feature=oembed&#038;enablejsapi=1&#038;origin=https://francescolelli.info" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div></figure><p>Next, consider the importance of <a
href="https://francescolelli.info/programming/best-practices-on-how-to-write-comments-in-your-code/" target="_blank" rel="noreferrer noopener">commenting your code</a> and the proper way to do it. This is a fundamental activity. However, more commenting is not necessarily better then less commenting.</p><figure
class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div
class="wp-block-embed__wrapper"> <iframe
title="Clean Code - Uncle Bob / Lesson 2" width="800" height="450" src="https://www.youtube.com/embed/2a_ytyt9sf8?feature=oembed&#038;enablejsapi=1&#038;origin=https://francescolelli.info" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div></figure><p>This second set of talks digs deeper into the profession of software engineer/ programmer and promotes an attitude that fosters collaboration and ethics.</p><p>One of the problems that the industry is facing is that in the past 50 years, the number of programmers doubled every 5 years. Therefore, the industry remains young and the experienced coders face the trouble of passing their knowledge to the new generation. In one line: act professional!</p><figure
class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div
class="wp-block-embed__wrapper"> <iframe
title="Clean Code - Uncle Bob / Lesson 3" width="800" height="450" src="https://www.youtube.com/embed/Qjywrq2gM8o?feature=oembed&#038;enablejsapi=1&#038;origin=https://francescolelli.info" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div></figure><p>Test driven development is a software development process that relies on the repetition of a very short development cycle: Requirements are turned into very specific test cases, then the code is improved so that the tests pass. This is opposed to software development that allows code to be added that is not proven to meet requirements. This, together with making correct estimates and saying no is the right attitude for delivering successful results.</p><figure
class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div
class="wp-block-embed__wrapper"> <iframe
title="Clean Code - Uncle Bob / Lesson 4" width="800" height="450" src="https://www.youtube.com/embed/58jGpV2Cg50?feature=oembed&#038;enablejsapi=1&#038;origin=https://francescolelli.info" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div></figure><p>Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems. Each&nbsp;structure comprises software elements, relations among them, and properties of both elements and relations. In the video below, you will learn the fundamentals of software architecture, its rules, the value of discipline in the production of quality code, and the responsibility of disseminating the need to implement these good practices in the community of programmers.</p><figure
class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div
class="wp-block-embed__wrapper"> <iframe
title="Clean Code - Uncle Bob / Lesson 5" width="800" height="450" src="https://www.youtube.com/embed/sn0aFEMVTpA?feature=oembed&#038;enablejsapi=1&#038;origin=https://francescolelli.info" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div></figure><p>Challenges in software and software management include the problem of adjusting software production time to delivery times. In other words, we are talking about the divergence between the needs of the client, the commercial commitments, and the needs of the programmer to produce quality software. Software project management is comprised of a number of activities, which contain planning of project, deciding scope of software product, estimation of cost in various terms, scheduling of tasks and events, and resource management. This last talk is about some of these challenges:</p><figure
class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div
class="wp-block-embed__wrapper"> <iframe
title="Clean Code - Uncle Bob / Lesson 6" width="800" height="450" src="https://www.youtube.com/embed/l-gF0vDhJVI?feature=oembed&#038;enablejsapi=1&#038;origin=https://francescolelli.info" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div></figure><p>In summary, quoting from Uncle Bob:</p><blockquote
class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way</p></blockquote><hr
/><p><em>#HowTo write clean #code by Uncle Bob ( Robert Cecil Martin ) #softwaredevelopment #CodeNewbie #HowtoPerfect</em><br
/><a
href='https://twitter.com/intent/tweet?url=https%3A%2F%2Ffrancescolelli.info%2Ftutorial%2Fhow-to-write-clean-code-by-uncle-bob-robert-cecil-martin%2F&#038;text=%23HowTo%20write%20clean%20%23code%20by%20Uncle%20Bob%20%28%20Robert%20Cecil%20Martin%20%29%20%23softwaredevelopment%20%23CodeNewbie%20%23HowtoPerfect&#038;related' target='_blank' rel="noopener noreferrer" >Share on X</a><br
/><hr
/><p></p><p>How to write clean code? In case you would like to know more, here you can find a link to his book:</p><p>Clean-Code-Handbook: <a
href="https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882" target="_blank" rel="noreferrer noopener">https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882</a></p><p>The post <a
href="https://francescolelli.info/tutorial/how-to-write-clean-code-by-uncle-bob-robert-cecil-martin/">How to write clean code by Uncle Bob (Robert Cecil Martin)</a> appeared first on <a
href="https://francescolelli.info">Francesco Lelli</a>.</p> ]]></content:encoded> <wfw:commentRss>https://francescolelli.info/tutorial/how-to-write-clean-code-by-uncle-bob-robert-cecil-martin/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <post-id
xmlns="com-wordpress:feed-additions:1">2076</post-id> </item> <item><title>Best practices on how to write comments in your code</title><link>https://francescolelli.info/programming/best-practices-on-how-to-write-comments-in-your-code/</link> <comments>https://francescolelli.info/programming/best-practices-on-how-to-write-comments-in-your-code/#respond</comments> <dc:creator><![CDATA[Francesco Lelli]]></dc:creator> <pubDate>Tue, 13 Aug 2019 13:48:39 +0000</pubDate> <category><![CDATA[Java]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Python]]></category> <category><![CDATA[code best practices]]></category> <category><![CDATA[comments]]></category> <category><![CDATA[comments in code]]></category> <category><![CDATA[java code comments]]></category> <category><![CDATA[python code comments]]></category> <guid
isPermaLink="false">https://francescolelli.info/?p=1640</guid><description><![CDATA[<p>Should I really care and learn about how to write comments? Really!? I do not have time for these things. How many times did you thought something like that? Well you are not alone. However: Have you ever tried to solve a very important problem doing some programming but found stacked because you can not [&#8230;]</p><p>The post <a
href="https://francescolelli.info/programming/best-practices-on-how-to-write-comments-in-your-code/">Best practices on how to write comments in your code</a> appeared first on <a
href="https://francescolelli.info">Francesco Lelli</a>.</p> ]]></description> <content:encoded><![CDATA[<p>Should I really care and learn about how to write comments? Really!? I do not have time for these things. How many times did you thought something like that? Well you are not alone. However:</p><p><em>Have you ever tried to solve a very important problem doing some programming but found stacked because you can not understand the code that you wrote the week before? </em></p><div
class="wp-block-image"><figure
class="alignright is-resized"><img
decoding="async" data-attachment-id="1644" data-permalink="https://francescolelli.info/programming/best-practices-on-how-to-write-comments-in-your-code/attachment/commentsinyourcode/" data-orig-file="https://francescolelli.info/wp-content/uploads/2019/08/CommentsInYourCode.png" data-orig-size="1101,395" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="CommentsInYourCode" data-image-description="" data-image-caption="&lt;p&gt;how to write comments&lt;/p&gt;
" data-medium-file="https://francescolelli.info/wp-content/uploads/2019/08/CommentsInYourCode-300x108.png" data-large-file="https://francescolelli.info/wp-content/uploads/2019/08/CommentsInYourCode-1024x367.png" src="https://i1.wp.com/francescolelli.info/wp-content/uploads/2019/08/CommentsInYourCode.png?fit=790%2C283&amp;ssl=1" alt="how to write comments" class="wp-image-1644" width="240" height="85" srcset="https://francescolelli.info/wp-content/uploads/2019/08/CommentsInYourCode.png 1101w, https://francescolelli.info/wp-content/uploads/2019/08/CommentsInYourCode-300x108.png 300w, https://francescolelli.info/wp-content/uploads/2019/08/CommentsInYourCode-768x276.png 768w, https://francescolelli.info/wp-content/uploads/2019/08/CommentsInYourCode-1024x367.png 1024w, https://francescolelli.info/wp-content/uploads/2019/08/CommentsInYourCode-600x215.png 600w" sizes="(max-width: 240px) 100vw, 240px" /><figcaption>how to write comments</figcaption></figure></div><p>If you are writing code this is not happen yet in your life, it is doom to happen soon. If you plan to implement something as part of your thesis. I can guarantee you that it will happen!</p><p>The problem of how to write comments into the code is fairly common and well understood in business. Companies, in the attempt to mitigate this phenomena, create guidelines on how to comment the developed code in order to make it understandable by different employees.</p><p>Good comment practices can be applied in all possible programming languages. The goal is not to improve the speed or the consumption of memory. It is more related to focusing on let other humans understand what has the program does and why. By the way, that &#8220;other human&#8221; most of the time is your future self!</p><h3 class="wp-block-heading">1: Write comments when you are writing the code</h3><p>You should considering writing comments when you are writing the code itself. Otherwise, you will probably forget half of them and will spend twice the time in doing this task. In general, you will be the primary user of these comments as often will have to read again the code in order to modify its functionalities.</p><h3 class="wp-block-heading">2: Every class a and functions should start with a description</h3><p>A code should start with a general description of the program containing:</p><ul
class="wp-block-list"><li>The problem(s) that the code solves</li><li>The data-structure(s) used in the code.</li><li>What algorithms and techniques, are used in a particular piece of the program</li></ul><p>Every functions should have a description of the general idea and the input and output should be explained</p><h3 class="wp-block-heading">3: What you write matter</h3><p>Know how to write a comment is more then just writing comments for the sick of writing comments . Consider the following when deciding what to write:</p><ul
class="wp-block-list"><li>Do not comment the obvious</li><li>Do not comment what the code is doing</li><li>Comment why you are doing it.</li></ul><p>Below you can find a couple of videos that share some insight on how to comment. This first share a few best practices using Eclipse and Java as a framework of reference. The author also makes the a good point when he says that good code should be self-explanatory and shows a concrete example of that. Similar points can be made with Python code as well.</p><figure
class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div
class="wp-block-embed__wrapper"> <iframe
title="Is it Bad to Comment Code? Easy Self-Documenting Practices" width="800" height="450" src="https://www.youtube.com/embed/2-KBQsTo8AY?feature=oembed&#038;enablejsapi=1&#038;origin=https://francescolelli.info" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div><figcaption><br></figcaption></figure><p>This video explain another set of best practices when commenting the code. However instead of focusing on Java use Python as reference language.</p><figure
class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div
class="wp-block-embed__wrapper"> <iframe
title="Comments in Python: Best Practices" width="800" height="450" src="https://www.youtube.com/embed/0NO3MJkxm2g?feature=oembed&#038;enablejsapi=1&#038;origin=https://francescolelli.info" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div></figure><p>Independently of the language that you are using both these videos can help you in understanding common best practices that you should use in your code, Java, Python or anything else.</p><p>Other useful resources of understanding the basic of programming includes:</p><ul
class="wp-block-list"><li><a
href="https://francescolelli.info/python/integrated-development-environment-ide-why-you-need-one/">Why you need an IDE</a></li><li><a
href="https://francescolelli.info/tutorial/object-oriented-programming-a-curated-set-of-resources/">The Basic of Object Oriented Programming (OOP)</a></li></ul><p>And if you believe that you are a super talented programmer this article should put things in perspective:</p><ul
class="wp-block-list"><li><a
href="https://francescolelli.info/programming/how-to-design-a-good-api-advanced-object-oriented-programming/">How to design a good API </a></li></ul><hr
/><p><em> Best practices on how to #write #comments in your #code. #programminglife of #SoftwareEngineer . #java and #python  examples </em><br
/><a
href='https://twitter.com/intent/tweet?url=https%3A%2F%2Ffrancescolelli.info%2Fprogramming%2Fbest-practices-on-how-to-write-comments-in-your-code%2F&#038;text=%20Best%20practices%20on%20how%20to%20%23write%20%23comments%20in%20your%20%23code.%20%23programminglife%20of%20%23SoftwareEngineer%20.%20%23java%20and%20%23python%20%20examples%20%20%20&#038;related' target='_blank' rel="noopener noreferrer" >Share on X</a><br
/><hr
/><p></p><p>The post <a
href="https://francescolelli.info/programming/best-practices-on-how-to-write-comments-in-your-code/">Best practices on how to write comments in your code</a> appeared first on <a
href="https://francescolelli.info">Francesco Lelli</a>.</p> ]]></content:encoded> <wfw:commentRss>https://francescolelli.info/programming/best-practices-on-how-to-write-comments-in-your-code/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <post-id
xmlns="com-wordpress:feed-additions:1">1640</post-id> </item> <item><title>Object Oriented Programming: A curated set of resources</title><link>https://francescolelli.info/tutorial/object-oriented-programming-a-curated-set-of-resources/</link> <comments>https://francescolelli.info/tutorial/object-oriented-programming-a-curated-set-of-resources/#respond</comments> <dc:creator><![CDATA[Francesco Lelli]]></dc:creator> <pubDate>Fri, 02 Aug 2019 11:36:03 +0000</pubDate> <category><![CDATA[Java]]></category> <category><![CDATA[Python]]></category> <category><![CDATA[Tutorial]]></category> <category><![CDATA[Abstraction]]></category> <category><![CDATA[code best practices]]></category> <category><![CDATA[Encapsulation]]></category> <category><![CDATA[naming convention]]></category> <category><![CDATA[oop]]></category> <guid
isPermaLink="false">https://francescolelli.info/?p=1573</guid><description><![CDATA[<p>Object Oriented Programming or OOP organizes code around the concept of objects, encapsulating data and functions within cohesive units. Object-Oriented Programming has permeated almost every facet of modern software development. Its principles and concepts are applied in diverse domains, from software architecture and frameworks to user interfaces, game development, real-time systems, and beyond. OOP&#8217;s ability [&#8230;]</p><p>The post <a
href="https://francescolelli.info/tutorial/object-oriented-programming-a-curated-set-of-resources/">Object Oriented Programming: A curated set of resources</a> appeared first on <a
href="https://francescolelli.info">Francesco Lelli</a>.</p> ]]></description> <content:encoded><![CDATA[<p>Object Oriented Programming or OOP organizes code around the concept of objects, encapsulating data and functions within cohesive units.</p><p>Object-Oriented Programming has permeated almost every facet of modern software development. Its principles and concepts are applied in diverse domains, from software architecture and frameworks to user interfaces, game development, real-time systems, and beyond. OOP&#8217;s ability to enhance code organization, reusability, and maintainability has solidified its role as a foundational approach in the creation of complex and reliable software systems.</p><p>OOP leverage the concept of <em>Classes</em> and <em>Objects</em> and the following 4 paradigms:</p><figure
class="wp-block-image alignright is-resized"><img
decoding="async" data-attachment-id="1574" data-permalink="https://francescolelli.info/tutorial/object-oriented-programming-a-curated-set-of-resources/attachment/java-oops/" data-orig-file="https://francescolelli.info/wp-content/uploads/2019/08/java-oops.png" data-orig-size="557,429" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="java-oops" data-image-description="&lt;p&gt;Object Oriented Programming &lt;/p&gt;
" data-image-caption="&lt;p&gt;Object Oriented Programming &lt;/p&gt;
" data-medium-file="https://francescolelli.info/wp-content/uploads/2019/08/java-oops-300x231.png" data-large-file="https://francescolelli.info/wp-content/uploads/2019/08/java-oops.png" src="https://francescolelli.info/wp-content/uploads/2019/08/java-oops.png?8011c3&amp;8011c3" alt="Object oriented Programming" class="wp-image-1574" width="279" height="215" srcset="https://francescolelli.info/wp-content/uploads/2019/08/java-oops.png 557w, https://francescolelli.info/wp-content/uploads/2019/08/java-oops-300x231.png 300w" sizes="(max-width: 279px) 100vw, 279px" /><figcaption>Object Oriented Programming</figcaption></figure><ul
class="wp-block-list"><li><strong>Abstraction: </strong>a process where you show only “relevant” data and “hide” unnecessary details of an object from the user.</li><li><strong>Encapsulation</strong>: a practice that bind the data with the code that manipulates it and keeps the data and the code safe from external interference</li><li> <strong>Inheritance</strong>: the mechanism by which an object acquires the some (or all) properties of another object.</li><li> <strong>Polymorphism:</strong> a way to process objects differently based on their data type. In other words objects can have the same name for a method but the implementation may differ.</li></ul><p>If you are not familiar with these concepts I would recommend you to watch the following video that explains what is object oriented programming in a few minutes.</p><figure
class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div
class="wp-block-embed__wrapper"> <iframe
title="Object-Oriented Programming, Simplified" width="800" height="450" src="https://www.youtube.com/embed/pTB0EiLXUC8?feature=oembed&#038;enablejsapi=1&#038;origin=https://francescolelli.info" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div></figure><p>If you are familiar with Python and you want to see how these things work in practice I would recommend to follow the instructions in this video that explains how to create Python Classes using the Spyder IDE:</p><figure
class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div
class="wp-block-embed__wrapper"> <iframe
title="How to Create Python Classes Using the Spyder IDE from Firebox Training" width="800" height="600" src="https://www.youtube.com/embed/Jss3u2s_jKs?feature=oembed&#038;enablejsapi=1&#038;origin=https://francescolelli.info" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div><figcaption> how to create Python Classes using the Spyder </figcaption></figure><p>In the case you do not know what is an Integrated Developing Environment (IDE) this article will give you the basic and explains <a
href="https://francescolelli.info/python/integrated-development-environment-ide-why-you-need-one/">why you need an IDE</a>.</p><p>If you put attention to the way the author of the video is writing the code you would probably notice that is following a certain naming convention. Some of these conventions are imposed by the compiler and there is no work around that. Other are best practices that will improve the readability of your code. As the majority of the example that you can find in internet follow these conventions I would recommend you to get familiar with the basic as you will save a lot of time in the long run.</p><p>This video introduce the basic (and most popularly accepted) conventions in JAVA. Python follow something similar as well:</p><figure
class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div
class="wp-block-embed__wrapper"> <iframe
title="Java Naming Conventions in Java. Java tutorial for beginners #14" width="800" height="450" src="https://www.youtube.com/embed/RHshkaJxsAc?feature=oembed&#038;enablejsapi=1&#038;origin=https://francescolelli.info" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div><figcaption>Notes on Naming Conventions</figcaption></figure><p>More resources on naming conventions include:</p><ul
class="wp-block-list"><li><a
href="https://en.wikipedia.org/wiki/Camel_case">Camel Case in Wikipedia</a></li><li><a
href="https://en.wikipedia.org/wiki/Naming_convention_(programming)">Naming Convention on Programming </a></li></ul><p>Clearly this is just the tip of the iceberg of Object Oriented Programming. If you want to know more you could follow this class of MIT OpenCourseWare that should set a more concrete foundation if you are not familiar with the concept at all.</p><figure
class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div
class="wp-block-embed__wrapper"> <iframe
title="8. Object Oriented Programming" width="800" height="450" src="https://www.youtube.com/embed/-DP1i2ZU9gk?feature=oembed&#038;enablejsapi=1&#038;origin=https://francescolelli.info" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div><figcaption>Object Oriented Programming in Python </figcaption></figure><hr
/><p><em> Get the basic of Object Oriented #programming and build better #Software . Practical examples in #Java and #python . #softwaredevelopment #SoftwareEngineer </em><br
/><a
href='https://twitter.com/intent/tweet?url=https%3A%2F%2Ffrancescolelli.info%2Ftutorial%2Fobject-oriented-programming-a-curated-set-of-resources%2F&#038;text=%20Get%20the%20basic%20of%20Object%20Oriented%20%23programming%20and%20build%20better%20%23Software%20.%20Practical%20examples%20in%20%23Java%20and%20%23python%20.%20%23softwaredevelopment%20%23SoftwareEngineer%20&#038;related' target='_blank' rel="noopener noreferrer" >Share on X</a><br
/><hr
/><p>A few more resources that can help you grasping the context surround OOP include the following:</p><ul
class="wp-block-list"><li><a
href="https://en.wikipedia.org/wiki/Object-oriented_programming">Object Oriented Programming in Wikipedia</a></li><li><a
href="https://en.wikipedia.org/wiki/Software_engineering">Software Engineering in Wikipedia</a></li></ul><p>The post <a
href="https://francescolelli.info/tutorial/object-oriented-programming-a-curated-set-of-resources/">Object Oriented Programming: A curated set of resources</a> appeared first on <a
href="https://francescolelli.info">Francesco Lelli</a>.</p> ]]></content:encoded> <wfw:commentRss>https://francescolelli.info/tutorial/object-oriented-programming-a-curated-set-of-resources/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <post-id
xmlns="com-wordpress:feed-additions:1">1573</post-id> </item> </channel> </rss>