How To Structure Your Programming Projects

How To Stay Organized As A Developer
Get a 5% discount (HALLDEN21) with Autonomous products at: rb.gy/5tutoo
If you are a student, sign up with your school email to get special offers across the entire Smart Product range & Buy-1-Get-1 bundles at: rb.gy/qpcdhj
Get access to my programming courses: / hallden
Follow me on instagram: / kallehallden
LiveCoder channel: / @livecoder7639
"Clean Code Friday"
If you want to receive one short email from me every week, where I go through a few of the most useful things I have explored and discovered this week. Things like; favourite apps, articles, podcasts, books, coding tips and tricks. Then feel free to join kalletech.com/cleancode/
CONTACT: contact@kalletech.com
Follow me on:
TWITCH: / kallehallden
INSTAGRAM: / kallehallden
TWITTER: / kallehallden
GITHUB: github.com/kallehallden
DISCORD: / discord
PATREON: / hallden
VIDEO EDITOR: editingmachine.com (use coupon code KALLE to get 50% off your first month)
--------------------------------------------------------------------------------------------------------
GEAR:
kalletech.com/tech/

Пікірлер: 267

  • @Speykious
    @Speykious3 жыл бұрын

    The first and most important step to be an efficient programmer is to have a sleep schedule.

  • @tyengineer0

    @tyengineer0

    3 жыл бұрын

    Facts 🙌🏼💯

  • @bhumika1060

    @bhumika1060

    3 жыл бұрын

    Not sure bout that :×

  • @Speykious

    @Speykious

    3 жыл бұрын

    @@bhumika1060 You should, it's a serious thing. It's bad for your health, your brain and especially your ability to focus and solve problems if you don't sleep enough.

  • @andrewkariuki

    @andrewkariuki

    2 жыл бұрын

    Never seen something so true

  • @-XArchLinuxEnjoyerX-

    @-XArchLinuxEnjoyerX-

    2 жыл бұрын

    PROPAGANDA!!! THE MORE TIMES YOU HAVE TO READ A FUNCTION TO UNDERSTAND WHAT IT DOES, THE MORE L337 OF A PROGRAMMER YOU ARE!

  • @edhead76
    @edhead76 Жыл бұрын

    this has been such a struggle for me. thank you for the honest and straightforward approach at tackling code. Your naming convention section of the video parallels recommendations from a book i'm actively reading, "Clean Code." awesome video. i've subscribed and liked!

  • @Caliber632
    @Caliber6323 жыл бұрын

    "You should use standing desks!, Ergonomic chairs!, here's a great company where you can get all that stuff from!" "Sits on the sofa, lies on the bed, laptop always on... his lap...." Me too Kalle, me too.

  • @1anre
    @1anre3 жыл бұрын

    This was one useful video, little things like this have a huge impact on your general developer productivity, & no matter how many languages you are proficient in, if you’re not meticulously organized, you might lose your mind when something breaks during your development process & you don’t know if it’s the actual code base or how you’ve structured the files & code to work that’s causing it.

  • @mnation694
    @mnation6943 жыл бұрын

    Kalle keep doing this great videos, I like the vlogs and productivity ones the most!

  • @JusticeNDOU
    @JusticeNDOU3 жыл бұрын

    if you use a combination of pycharm and github actions you can configure your projects such that your TODO comments in your code ends up in your Issues, this is super helpful especially on a very large project

  • @engageintellect
    @engageintellect3 жыл бұрын

    Kalle hits another one out of the park. Providing the information people need in a friendly and straightforward way. Thanks for the awesome content.

  • @Gigusx
    @Gigusx3 жыл бұрын

    Since a part of it is not about structuring a project but also being more productive in general, I'd also add learning and using basic terminal commands to the list. It's way faster, especially in new projects, to create all the files and folders using a CLI. Small thing but definitely adds to the comfort.

  • @sapperjaeger
    @sapperjaeger Жыл бұрын

    possibly the most useful vid I've seen on workflow! well done!

  • @tizahex
    @tizahex3 жыл бұрын

    Awesome. Keep up the good work! Always a pleasure to watch a video of yours.

  • @mohammedsaad3801
    @mohammedsaad38013 жыл бұрын

    Happy that i am here from when u had 50k u have come a long way gl for the future

  • @harshthosar8600
    @harshthosar86003 жыл бұрын

    Exactly the video I needed to see. Thanks Kalle.

  • @DoctorCode9
    @DoctorCode93 жыл бұрын

    Finally someone spoke about the subject, this is one of the most important video for a programmer

  • @FlutterMapp
    @FlutterMapp3 жыл бұрын

    The Lifting table is a must for sure! Thanks for the video man ✌️

  • @riclerico
    @riclerico3 жыл бұрын

    Kal sounds like a pro pro pro 👨‍💻. Clear and concise in his videos. #fanfromfromghana

  • @awsm1680
    @awsm16803 жыл бұрын

    Kalle be reading my mind and making videos on it to make my life easier

  • @charonder
    @charonder9 ай бұрын

    I'm a couple years into my PhD and this is going to be a massive help for my next project. Thank you!

  • @ZubairMohammadRayhan

    @ZubairMohammadRayhan

    4 ай бұрын

    what si your phd research about

  • @m1k3thirteen81
    @m1k3thirteen812 жыл бұрын

    This is a great best practice video. Amazing work! Thank you.

  • @Manan_K
    @Manan_K3 жыл бұрын

    This video is so helpful. Thanks Kalle! :)

  • @bmejia220
    @bmejia2203 жыл бұрын

    Awesome video Kalle. I will be watching this one on repeat until I do these great habits repeatedly.

  • @KyrosNox
    @KyrosNox2 жыл бұрын

    This really helped me get my mind right regarding my work. Thanks much.

  • @MogelBoom
    @MogelBoom2 жыл бұрын

    I know it's an old video but i just want to point out that structuring your code in directories based on the technology-layer might not be the best idea because you are forced to create dependencies from package to package. It's a way cleaner architecture to structure your code based on topic (german word "Fachbereich") improves the cohesion in these packages

  • @atlantic_love

    @atlantic_love

    Жыл бұрын

    No one should ever consider a video that's a year old to be an "old video". Accountability, people!

  • @andiuptown1711

    @andiuptown1711

    3 ай бұрын

    So package by feature not by layer?

  • @TheSharkbeast
    @TheSharkbeast2 жыл бұрын

    Okay by the title I really didn't thought it'll be that useful but mann this is gold 🙌,

  • @edgarmuradyan6881
    @edgarmuradyan68813 жыл бұрын

    I just got my first real project and it is large enough. I didn't know how to structure that, opened KZread and this video!😂👌

  • @MohamedAnsari_H
    @MohamedAnsari_H3 жыл бұрын

    my first comment Kalle, gotta give it to ya, the opening was hilarious. LOVE IT!!!!!!!!!!!!!

  • @itzthehxnry_
    @itzthehxnry_2 жыл бұрын

    3:35 how did you made that dynamic prompt? In vanilla settings there is only option to display full path. How do you display only current directory?

  • @lilalomoslama
    @lilalomoslama3 жыл бұрын

    Nice Video, BUT: Please don’t refactor code just to make it more readable or efficient. Ensure that your Feature branch will only be merged when you are satisfied with the readability and efficiency of the changes. The reason ist quite simple: Refactoring comes with the cost of either removing important code (that you might forgot it was ever important) or introducing new bugs. You will be stuck fixing your refactorings. Only touch your code if you have to and keep your PRs small. This will improve your readability more than refactoring once a week.

  • @farsinkp169
    @farsinkp1693 жыл бұрын

    The production quality 👌❤️

  • @aghrajhsayin5698
    @aghrajhsayin56983 жыл бұрын

    your videos are just mind blowing for real they are just great

  • @taylorzeller3415
    @taylorzeller34153 жыл бұрын

    I like the idea of the Every Other Day system, but, in my head, that conflicts with the idea of creating an MVP for a project before refactoring and starting UI/UX design. Am I thinking about this wrong?

  • @adpadillar
    @adpadillar3 жыл бұрын

    I manage all of my GitHub workflow in the Source Control Feature of Vscode and i feel 1000 times more productive. I also set up verified commits as an added bonus

  • @Francefire
    @Francefire3 жыл бұрын

    The intro 🤣🤣 you are a gold content creator

  • @ishanchoudhary4179
    @ishanchoudhary41793 жыл бұрын

    I got an ad of Kalle on tab nine. For a sec, I thout it was the beginning of the video 😂

  • @tommyo2172
    @tommyo21723 жыл бұрын

    Why do tou use PC if you still configure the command line to a BASH terminal?

  • @obsidian-gravel
    @obsidian-gravel21 күн бұрын

    Can you suggest any suitable application/template to document detailed workflow and business logics implemented in a project?

  • @eishkay
    @eishkay2 жыл бұрын

    I'm not suure if the whole github reposit set up I did on my mac is working or not, how do I check? Thanks :)

  • @ThaitopYT
    @ThaitopYT2 жыл бұрын

    I need to be more seriously about the readme file and to-do list.

  • @adl9566
    @adl95662 жыл бұрын

    Hi. I was wondering how can I display a phone on the screen when i build the app like you when you was making an eletrician app for some guy?

  • @mikeoxlong4043
    @mikeoxlong40433 жыл бұрын

    Love ur content !

  • @specialjeffy333
    @specialjeffy3332 жыл бұрын

    Another great video! Super helpful. Although I think my favourite part was Kalle explaining he was busy buying a tshirt so he couldnt help his friend lol

  • @martiananomaly

    @martiananomaly

    2 жыл бұрын

    LOL true.

  • @alexisraels1437
    @alexisraels14373 жыл бұрын

    Didn't know about github project boards. I use Jira for work, but this will be really nice for personal projects. Thanks!

  • @codingisamazing
    @codingisamazing9 ай бұрын

    In the backend, the View component in the MVC architecture does not necessarily refer to a graphical user interface (UI) as it does in frontend development. Instead, the View in the backend can be thought of as the representation of the data that is sent back to the client or consumer of the backend services. In a backend application, the View component is responsible for formatting and presenting the data in a suitable format for the client. This can be in the form of JSON, XML, or any other data format that the client expects. The View component does not handle user interactions or have a graphical interface like in frontend development.

  • @andrean40

    @andrean40

    3 ай бұрын

    Thanks for this

  • @optimus_cruz
    @optimus_cruz3 жыл бұрын

    Great tips bro.

  • @badhonbarman216
    @badhonbarman2163 жыл бұрын

    great advice for my future project . Thanks @Kalle Hallden

  • @nihalrahman9503
    @nihalrahman95032 жыл бұрын

    the first 2 minutes could be cut out. this is very useful information, love ur content. notification bell turned on.

  • @carlosjeria1541
    @carlosjeria15413 жыл бұрын

    Curious about your keyboard. Where did you get it?

  • @gr8tbigtreehugger
    @gr8tbigtreehugger3 жыл бұрын

    Was exactly in the opening scenario, even knowing that I should be doing exactly what this video prescribes, twas just bouncing around.

  • @zulucharlie5244
    @zulucharlie52449 ай бұрын

    Outstanding content.

  • @arianpiano
    @arianpiano3 жыл бұрын

    Why is no one talking about the brilliant skit in the beginning

  • @ryeviz
    @ryeviz3 жыл бұрын

    Hey, your thumbnail looks pretty awesome 👍

  • @sanskargupta1870
    @sanskargupta18703 жыл бұрын

    You always give, great advice, I really love your videos!!!! Always keep going like this......

  • @willgonzy
    @willgonzy2 жыл бұрын

    You are changing my life

  • @Franciscorsilvaaa
    @Franciscorsilvaaa3 жыл бұрын

    hey, foes any1 know how can i found the librarys i need to a project ??

  • @danmfigueroa
    @danmfigueroa2 жыл бұрын

    That's really useful!

  • @oskarthaeter63
    @oskarthaeter633 жыл бұрын

    Regarding the MVC pattern: I find it best to choose a design pattern when modeling the project as a class diagram. If I am unsure about what design pattern to use or just don’t want to be constraint by one, I find it best to decompose the project into subsystems and create folders for each. This helps achieve low coupling and high cohesion, which is useful for when one does not need to change something in every file just because one object was restructured. A class diagram and a short list of functional and non-functional requirements goes a long way, helping to keep focused on what you want to do with your project.

  • @GraphicGamingHQ

    @GraphicGamingHQ

    2 жыл бұрын

    Great comment, do you have some examples of these class diagrams? Maybe one you've recently made yourself? My biggest struggle is planning/designing data structures/project logic/structures and I'd love to find a good system that works for me to being able to tackle getting better at it!

  • @oskarthaeter63

    @oskarthaeter63

    2 жыл бұрын

    @@GraphicGamingHQ well, I can recommend the book “Object-Oriented Software Engineering: Using UML, Patterns and Java” by Bernd Bruegge and Allen H. Dutoit. The chapters Modeling with UML, Analysis and System Design should be quite interesting! The class diagram should just be an overview of all your most important components and how they work together (i.e. class hierarchy, interfaces, aggregations etc). It can be detailed, but doesn’t have to be. In the end just go with your gut ;)

  • @endlessVoiid
    @endlessVoiid3 жыл бұрын

    Nice one kalle

  • @jisrite
    @jisrite2 жыл бұрын

    that joke in the beginning got me laughing out loud 😂

  • @peachesurf
    @peachesurf2 жыл бұрын

    watching this video while procrastinating programming

  • @hoschi60
    @hoschi603 жыл бұрын

    How can you give advise on a problem, which never occured to you but only to friends.. I am confused

  • @ngoako
    @ngoako3 жыл бұрын

    I did enjoy this video :)

  • @matiaspardini3758
    @matiaspardini37583 жыл бұрын

    Nice video kalle

  • @theencryptedpartition4633
    @theencryptedpartition46333 жыл бұрын

    When something kind of happens to me I usually say that I have a friend of mine and that happened to him. And I usually mistakenly say ‘them’😅

  • @__lalisa
    @__lalisa2 жыл бұрын

    Can you recommend some projects for absolute beginners that can be submitted to the college and is easy to make documentation of it?

  • @Simoelfakkak
    @Simoelfakkak Жыл бұрын

    Thank you Haaland

  • @avinash-dhumal
    @avinash-dhumal3 жыл бұрын

    I follow your videos quite badly... and I love them.

  • @ric.e214
    @ric.e2143 жыл бұрын

    He's wearing a shirt! Wasn't him! Proof 😆 you're hilarious and extremely helpful, thanks for the video!! Keep up the great work!!

  • @ThiagoMedina
    @ThiagoMedina2 жыл бұрын

    what keyboard is this?

  • @guilhermecarvalho4453
    @guilhermecarvalho44539 ай бұрын

    ahahah straight away this happened to you not your friend xD but great video and thank you!! keep it up! :)

  • @ryannathanwilson
    @ryannathanwilson3 жыл бұрын

    I learned how to use VIM for editing individual files, but I’ve had a hell of a time figuring out how to use it officially for a larger code base. Any tips? New video?

  • @gogatorsfoster1

    @gogatorsfoster1

    3 жыл бұрын

    I'm also interested in seeing this

  • @luisdario1493

    @luisdario1493

    3 жыл бұрын

    You need a plugin for file managment and configure your vimrc to open quickly

  • @clinton5708

    @clinton5708

    3 жыл бұрын

    I use vim(neovim) on two fairly large projects. For file management I use nnn and fzf.

  • @exinr6930

    @exinr6930

    3 жыл бұрын

    The main tip I've heard from my vim user friends is to use VS Code with the vim extension since it has all the power user shortcuts that make it so you don't have to leave the home row to do anything, but there's still a GUI if you need it. Maybe that can help a bit.

  • @akshajgotimukul204

    @akshajgotimukul204

    3 жыл бұрын

    Use VS code instead

  • @ncadre9048
    @ncadre904811 ай бұрын

    This video is one-of-a-kind, great content! Do you have a video of how to navigate Git Hub? I have code saved on my computer but do not understand how to prepare my page in a way that would be helpful in future opportunities. Also, what is the best way to decide on the language and coding project? Do you have a guide on that? Since we have multiple options in where to go early in our career. Thank you.

  • @dhruvajindal4932
    @dhruvajindal49323 жыл бұрын

    Who wants dedicated video on MVC?

  • @mustafachenine7942
    @mustafachenine7942 Жыл бұрын

    thank you

  • @Weensy
    @Weensy3 жыл бұрын

    love the style of your videos! inspired me to code. can you give me a dare for my "youtubers control my life for 24hrs vid? :D

  • @muhammadrasikh
    @muhammadrasikh2 жыл бұрын

    Kalle, i think you should use timestamps for your videos... It helps me a lot sometimes

  • @mcferrill
    @mcferrill3 жыл бұрын

    Have you tried the neovim integration for vscode? I'm a longtime VIM user, but directly importing my vimrc into vscode was too hard to resist.

  • @mcferrill

    @mcferrill

    3 жыл бұрын

    @@depression_isnt_real neovim is a fork of the original vim project, and the "VSCode Neovim" plugin lets you run neovim inside vscode along with your vim plugins/settings. With some work you can have a single vimrc & plugin folder that works in OG Vim, neovim, and VS Code. I have mine in a git repo with an installer script.

  • @zygimantasjasiunas5240
    @zygimantasjasiunas52402 жыл бұрын

    There are some nice take aways from this video, but I am not sure if I can agree with using Vim for larger projects

  • @avinash-dhumal
    @avinash-dhumal3 жыл бұрын

    Super Useful...

  • @cod1que43
    @cod1que433 жыл бұрын

    very cool, thank u

  • @paulfrischknecht3999
    @paulfrischknecht3999 Жыл бұрын

    Creating a model, view & controller submodule or directory will usually introduce bad cohesion, meaning things that change together will not be kept together.

  • @tuhinthecoder2799
    @tuhinthecoder27993 жыл бұрын

    Amazing like a Pro i am a viewer from Bangladesh

  • @prathampatel6357
    @prathampatel6357 Жыл бұрын

    0:00 - 0:45 bro defined devs's nightmare too accurately 💀

  • @phillylifer
    @phillylifer2 жыл бұрын

    Vim??? Why. Except for this question. Brilliant advice!

  • @paulfrischknecht3999
    @paulfrischknecht3999 Жыл бұрын

    +1 for the suggestion to rewrite code fairly often; this is actually not that hard (compared with coming up with the ideas and code in the first place) and very helpful for refactoring, maintainability, readability etc. I wonder how to best convince product owners, management and the rest of the team of that...

  • @mooNylou
    @mooNylou2 жыл бұрын

    Love your videos - despite not being a programmer (but wish i would be one) greetings from north germany

  • @TN-cx4qi
    @TN-cx4qi3 жыл бұрын

    Best practice dictates cramming as much code as you can into one file. That way you know where all the code is 🤓

  • @rockymarquiss8327
    @rockymarquiss83272 жыл бұрын

    I like your every other day idea... :)

  • @thoughtlesssauce3945
    @thoughtlesssauce39453 жыл бұрын

    What goes in the tests Directory?

  • @naffiahanger9316
    @naffiahanger93163 жыл бұрын

    Very helpful

  • @Otonium
    @Otonium Жыл бұрын

    How about flow diagrams, and things like that? Thanks!

  • @lipr12
    @lipr123 жыл бұрын

    I am front end developer and I'm thinking of learning Kotlin! Do u think that a good idea?

  • @darrenmew3928
    @darrenmew39283 жыл бұрын

    If you use Django and python it will automatically set all this up, better yet if you wanted you could use their MVC style and copy it to your other projects

  • @alexwexov4298
    @alexwexov42982 жыл бұрын

    Why VS Code is open when talking about vim 😁?

  • @blazi_0
    @blazi_05 ай бұрын

    Fuck didn't expect I'll be here after 8 months of coding the project

  • @U_Geek
    @U_Geek10 ай бұрын

    OK 40 seconds in and he just described my problem, shocking if you ignore maintainability your project won't last long

  • @marcello4258
    @marcello42583 жыл бұрын

    people saying src folders are redundant only use scripting languages. otherwise they would be aware that machines only run binaries.

  • @txrangerkidd222
    @txrangerkidd2223 жыл бұрын

    did you change the title of this video?

  • @bassycounter
    @bassycounter11 ай бұрын

    Right yes, you were away, got it. 😂

  • @thatsayon
    @thatsayon3 жыл бұрын

    Love from Bangladesh!!!

  • @ashutoshandhare7626
    @ashutoshandhare76263 жыл бұрын

    First things first. How do you have a linux like terminal in windows?

  • @delected

    @delected

    3 жыл бұрын

    probably WSL

  • @sharavnadan5617
    @sharavnadan56173 жыл бұрын

    needed this😅

  • @thehood0279

    @thehood0279

    3 жыл бұрын

    fr 😅