- 306
- 415 431
Charfaoui Younes
Algeria
เข้าร่วมเมื่อ 7 ต.ค. 2016
Hey there 👋, If you're new to my videos, my name is Charfaoui Younes; I am an Android Developer. I create Android and software engineering-related tutorials 📚 & videos to help you make & create your Android apps and best practices.
Subscribe for new videos every week covering intermediate to advanced lessons about Android, Kotlin, Software Engineering, productivity tips, and much more 📈.
Thanks for your support ✅.
Subscribe for new videos every week covering intermediate to advanced lessons about Android, Kotlin, Software Engineering, productivity tips, and much more 📈.
Thanks for your support ✅.
Gilded Rose Refactoring (3/4)
In this video of the Refactoring GildedRose Mini series, we will keep refactoring the code to get more insights and introduce new features requested.
▶️ 0:00 Gilded Rose Refactoring
▶️ 0:19 Problem Statement & Repository
▶️ 1:12 Other Videos For the Kata
▶️ 1:50 Project Setup
▶️ 2:50 Domain Understanding
▶️ 4:18 Adding Tests
▶️ 6:43 Running the Coverage
▶️ 7:18 Outro
🔗 Links:
- GildedRose Repository - github.com/emilybache/GildedRose-Refactoring-Kata
🚀 Online course - Refactoring Legacy Code - bit.ly/47dzTLT
👾 FREE Interview Question PDF - bit.ly/AndroidInterviewQuestion
💻 Android Code Review Checklist - bit.ly/android-checklist
✅ FREE Notion Compose Checklist - sendfox.com/lp/m2v8l6
💚 Join my newsletter - bit.ly/YCNewsletter102
👨🏽🏭 Who I am:
I'm Younes Charfaoui, a Software Engineer and an Android Developer. I make videos about Android development, Technology, and productivity for software engineers.
😋 Be My Friend:
💻 GitHub - github.com/Younes-Charfaoui/
🐦 Twitter - CharfaouiYounes
📑 Medium - medium.com/@mxcsyounes
📷 Instagram - charfaoui.younes
🌍 My website - www.younescharfaoui.com
▶️ 0:00 Gilded Rose Refactoring
▶️ 0:19 Problem Statement & Repository
▶️ 1:12 Other Videos For the Kata
▶️ 1:50 Project Setup
▶️ 2:50 Domain Understanding
▶️ 4:18 Adding Tests
▶️ 6:43 Running the Coverage
▶️ 7:18 Outro
🔗 Links:
- GildedRose Repository - github.com/emilybache/GildedRose-Refactoring-Kata
🚀 Online course - Refactoring Legacy Code - bit.ly/47dzTLT
👾 FREE Interview Question PDF - bit.ly/AndroidInterviewQuestion
💻 Android Code Review Checklist - bit.ly/android-checklist
✅ FREE Notion Compose Checklist - sendfox.com/lp/m2v8l6
💚 Join my newsletter - bit.ly/YCNewsletter102
👨🏽🏭 Who I am:
I'm Younes Charfaoui, a Software Engineer and an Android Developer. I make videos about Android development, Technology, and productivity for software engineers.
😋 Be My Friend:
💻 GitHub - github.com/Younes-Charfaoui/
🐦 Twitter - CharfaouiYounes
📑 Medium - medium.com/@mxcsyounes
📷 Instagram - charfaoui.younes
🌍 My website - www.younescharfaoui.com
มุมมอง: 4
วีดีโอ
Gilded Rose Refactoring (2/4)
มุมมอง 13514 ชั่วโมงที่ผ่านมา
In this video of the Refactoring GildedRose Mini series, we will start refactoring the challenge introduced in the last video by removing the clutter, reducing the complexity of the code, and adding new requirements. ▶️ 0:00 Gilded Rose Refactoring ▶️ 0:40 Test Coverage Isn't Enough ▶️ 1:45 Removing the Clutter ▶️ 2:36 Analyzing & Refactoring ▶️ 13:00 Checking Complexity ▶️ 14:30 Analyzing & Re...
Gilded Rose Refactoring (1/4)
มุมมอง 311วันที่ผ่านมา
In this video of the Refactoring GildedRose Mini series, we will begin the refactoring challenge by introducing the Kata and adding the necessary setup and tests to ensure the best possible refactoring experience! ▶️ 0:00 Gilded Rose Refactoring ▶️ 0:19 Problem Statement & Repository ▶️ 1:12 Other Videos For the Kata ▶️ 1:50 Project Setup ▶️ 2:50 Domain Understanding ▶️ 4:18 Adding Tests ▶️ 6:4...
The Reason We Need Compose Keys!
มุมมอง 64014 วันที่ผ่านมา
In this video, we will see in-depth why we need to set up some keys when working with Lazy List in Compose. We will understand the concept and see how we can apply it in action by using another composable key when not using LazyList. Enjoy! ▶️ 0:00 Intro ▶️ 0:26 App & Code Showcase ▶️ 2:19 What's Happening? ▶️ 3:35 Fixing Recomposition! ▶️ 4:20 The Key Composable ▶️ 6:40 Compose Groups ▶️ 8:12 ...
DON'T Do this Mistake with derivedStateof!
มุมมอง 73921 วันที่ผ่านมา
In this video, we will learn a common pitfall we make in Compose when using derivedStateOf. You will understand the issue in depth and see how we can fix it using another side effect called rememberStateOf. Enjoy. 🚀 Online course - Refactoring Legacy Code - bit.ly/47dzTLT 👾 FREE Interview Question PDF - bit.ly/AndroidInterviewQuestion 💻 Android Code Review Checklist - bit.ly/android-checklist ✅...
Automatically Make YOUR Code Spotless!
มุมมอง 636หลายเดือนก่อน
In this video, we will learn how to set up and use a Spotless plugin to fix linting and formatting in an Android codebase. We will cover the setup process, running the task, making it automatic when running your Android app, and integrating it into your CI pipeline. ▶️ 0:00 Spotless ▶️ 0:57 Plugin ▶️ 1:10 Setup ▶️ 5:45 Running Spotless ▶️ 6:57 Automatic Spotless ▶️ 8:30 Github Action Setup ▶️ 1...
How To Automate Network Layer Creation in Android!
มุมมอง 797หลายเดือนก่อน
💻 Join my new Refactoring Legacy Code course now: bit.ly/47dzTLT In this video, we will explore a powerful method for simplifying the creation of the network layer in Android. We will demonstrate how to set up a generator using the OpenAPI Spec and walk through an example using the GitHub API. 🔗 Links: - Docs- openapi-generator.tech/docs/generators - Github - github.com/OpenAPITools/openapi-gen...
Why we write Bad Code?!
มุมมอง 484หลายเดือนก่อน
💻 Grab my Refactoring Legacy Code course here: bit.ly/47dzTLT 🤩 35% OFF Code Promo: AUGUST2024 In this video, we will discuss why we write bad code as software engineers, the reasons behind it, and then explore how to fix the problem by approaching the code we add to the codebase from a different angle. 📩 Sign up for my new newsletter 👇 bit.ly/YCNewsletter102 Join my Community on Discord 👇 disc...
3 Small Tips To Improve Your Refactoring!
มุมมอง 2.2Kหลายเดือนก่อน
💻 Grab my Refactoring Legacy Code course here: bit.ly/47dzTLT 🤩 35% OFF Code Promo: AUGUST2024 In this video, we will discuss how sealed classes and interfaces can improve your code and examine the differences between them. By learning about these things, you will be able to use them better in your own code. 🔗 Links: - Code Complexity - plugins.jetbrains.com/plugin/21667-code-complexity 📩 Sign ...
The Difference between Sealed Interfaces & Sealed Classes!
มุมมอง 6922 หลายเดือนก่อน
💻 Grab my Refactoring Legacy Code course here: bit.ly/47dzTLT In this video, we will discuss how sealed classes and interfaces can improve your code and examine the differences between them. By learning about these things, you will be able to use them better in your own code. 🔗 Links: - jorgecastillo.dev/sealed-interfaces-kotlin 📩 Sign up for my new newsletter 👇 bit.ly/YCNewsletter102 Join my C...
Use THESE Tricks for Efficient Bug Fixing 🐞!
มุมมอง 5792 หลายเดือนก่อน
💻 Join the waiting list for the Security Masterclass Course I am building: security.younescharfaoui.com/ In this video, we will share several tips and tricks that can help you fix bugs quickly and efficiently. We will cover some tools alongside the right mindset to handle various aspects of bug fixing. 📩 Sign up for my new newsletter 👇 bit.ly/YCNewsletter102 Join my Community on Discord 👇 disco...
DON'T HAVE These UseCases in your Android Code!
มุมมอง 8212 หลายเดือนก่อน
💻 Grab my Refactoring Legacy Code course here: bit.ly/47dzTLT In this video, we will explore the incorrect use of the use case pattern in your Android app. We will discuss why this approach is suboptimal and how to make room for much better implementations of this pattern. 📩 Sign up for my new newsletter 👇 bit.ly/YCNewsletter102 Join my Community on Discord 👇 discord.gg/nKgZd6E3Db 👨🏽🏭 Who I am...
The only way to Secure API Keys in Android!
มุมมอง 1.3K2 หลายเดือนก่อน
💻 Join the waiting list for the Security Masterclass Course I am building: security.younescharfaoui.com/ In this video, we will explore the challenges of securing API Keys in Android projects, showcasing the only way you can secure it from all types of attacks. 📩 Sign up for my new newsletter 👇 bit.ly/YCNewsletter102 Join my Community on Discord 👇 discord.gg/nKgZd6E3Db 👨🏽🏭 Who I am: I'm Younes...
a Singleton Twist Interview Question with Kotlin!
มุมมอง 9162 หลายเดือนก่อน
📩 Sign up for my new newsletter here: bit.ly/YCNewsletter102 💻 Join my new Refactoring Legacy Code course now: bit.ly/47dzTLT In this video, we will solve an interview question about Singleton with Kotlin. We will provide not only the solution but also common tips to communicate in the interview. 📩 Sign up for my new newsletter 👇 bit.ly/YCNewsletter102 Join my Community on Discord 👇 discord.gg/...
Maintain consistency in your Kotlin Codebase with Konsist!
มุมมอง 7063 หลายเดือนก่อน
💻 Join my new Refactoring Legacy Code course now: bit.ly/47dzTLT In this video, we will explore the world of Static Code Analyzers with an easy-to-use library called Konsist. This will help you ensure the consistency of your codebase! 🔗 Links: - Docs- docs.konsist.lemonappdev.com/ 📩 Sign up for my new newsletter 👇 bit.ly/YCNewsletter102 Join my Community on Discord 👇 discord.gg/nKgZd6E3Db 👨🏽🏭 ...
Search Like a Pro: 3 Game-Changing Techniques Developers Ignore!
มุมมอง 6833 หลายเดือนก่อน
Search Like a Pro: 3 Game-Changing Techniques Developers Ignore!
Get to Know one of The Best Testing Libraries for Kotlin!
มุมมอง 8193 หลายเดือนก่อน
Get to Know one of The Best Testing Libraries for Kotlin!
The Ultimate Jetpack Compose Creation Checklist!
มุมมอง 8253 หลายเดือนก่อน
The Ultimate Jetpack Compose Creation Checklist!
The Best Way to Learn as an Android Developer!
มุมมอง 1.2K4 หลายเดือนก่อน
The Best Way to Learn as an Android Developer!
Debug Your Jetpack Compose UIs Effortlessly!
มุมมอง 5714 หลายเดือนก่อน
Debug Your Jetpack Compose UIs Effortlessly!
Prepare your next Android Interview with these questions!
มุมมอง 1.3K4 หลายเดือนก่อน
Prepare your next Android Interview with these questions!
The Easiest Way to Start Test Driven Development (TDD)!
มุมมอง 4774 หลายเดือนก่อน
The Easiest Way to Start Test Driven Development (TDD)!
Dagger Hilt - Custom Qualifiers For Hilt in Android!
มุมมอง 5405 หลายเดือนก่อน
Dagger Hilt - Custom Qualifiers For Hilt in Android!
Don't Use Inheritance Until You Watch This!
มุมมอง 6445 หลายเดือนก่อน
Don't Use Inheritance Until You Watch This!
4 Ways To Debug Recomposition in Your Jetpack Compose UI!
มุมมอง 1.2K5 หลายเดือนก่อน
4 Ways To Debug Recomposition in Your Jetpack Compose UI!
7 ADB Commands That Will Make You Android Ninja!
มุมมอง 1.5K6 หลายเดือนก่อน
7 ADB Commands That Will Make You Android Ninja!
Implementing Type Writer Effect in Jetpack Compose!
มุมมอง 6146 หลายเดือนก่อน
Implementing Type Writer Effect in Jetpack Compose!
5 Android App Ideas You Need to Develop!
มุมมอง 3K6 หลายเดือนก่อน
5 Android App Ideas You Need to Develop!
Thank you. I no longer need to pass a class parameter for simple inline functions. Thank you once again.
Happy to help!
Thanks for this amazing video.
Our pleasure!
I'm a bit confused on what spotless is doing that ktlint does not by itself. Thank you for a nice video!
i realy need to contact you Younes
sure, here is my email: mxcsyounes@gmail.com
Your speech and the sample were simple, consistent, concise and with immaculate language unlike other similar videos with same topic.Imo. But what was missed imo, I didnt find where to place to those @qualifiers. I mean they used to create separate kotlin/java files for MainActivity or for @module stuff or for a class using those dependencies. Should i create a file for qualifiers as well? Thanks in advance
Interesting.
Glad you think so!
Thank you for your job!!
hello i need helpp this is not working for me. I put the TAG nothing shows im using firebase but the tag is not showing anything.
This is awesome.
Great video buddy 🔥
Thanks for the visit
In the video at 1:13 , I made a mistake about the ktLint version; it is "1.3.1" and NOT "1.31.1"
Thanks for the update dude
Really always your videos so interesting thanks alot for great videos keep it up sir😍❤
This video helps me too much. thank you
By your solution a hacker just need 5 minutes to find the key in apk.
Really? which solution do you mean?
Hi sir , can we get your whatsapp ?
u need to add this part for dependency injection : To integrate dependency : project.afterEvaluate { publishing { publications { libraryProject(MavenPublication) { groupId = 'com.xxxx.xxxxx' artifactId = 'arxxxxxx' version = '0.1' artifact bundleReleaseAar pom.withXml { def dependenciesNode = asNode().appendNode('dependencies') configurations.implementation.allDependencies.each { dependency -> def dependencyNode = dependenciesNode.appendNode('dependency') dependencyNode.appendNode('groupId', dependency.group) dependencyNode.appendNode('artifactId', dependency.name) dependencyNode.appendNode('version', dependency.version) } } } } } } <3
Thanks for this guide !
Glad it helped!
i got no idea. No concept of what is that and what for.
Thanks mate 🤞
Thanks. I implemented it in my project and it is amazing.
Excellent explanation. Thank you for sharing.
Thanks for Sharing one question android studio which plugin keyboard shortcut show in display
Nice share ❤🎉
Thanks for visiting brew!
Please do a vidéo for sharing a kmm library
Thank u very much. your video is really good. Your explanation is solid too. hope your video will reach more people
I hope so too, Thanks a lot!
Can you tell me what is plugin you use for terminal in android studio to be aware of git
It is lazygit, here is a Video I made it for this tool: th-cam.com/video/4OtNZqhvlUI/w-d-xo.htmlsi=wSsFiF0FKGItiIAS
Informative content. Thank you for sharing.
Glad it was helpful!
@@CharfaouiYounes ktlint_ rules are ignored. I have underscore in package name however disabling the rule still throws error while running spotlessCheck. Any inputs on this?
Man those book covers need a refactor
Thanks for nice video. I would like to have the implementation of the Git. What the advantage is of having spotless and ktlint over ktlint only
Spotless uses Ktlint to automate the process.
Pls why would someone want to do a compose test?
tying follow this hint and finish the project while the deadline is approaching :sweatyspeedrunner: xdddd
Why you are not returning "Flow<List<Words>>" rather then List<Words> because it i think every one using Flow to getting data from Room databas .
Thank you. This is a nice clean, modern example.
Hello Charfaoui, great video. Thaks. Pls can you provide github repo for this video? Maybe I'm doing some wrong and I need to check it what is in my project wrong! I’m 🔥👨💻🚀
i am learning app development and working on app clone (instagram to be specific) but i don't understand how is it going to be useful for anyone obviously i can only make a clone out of it
Very useful and informative content.Thanks for sharing.
AndroidWeekly brought me here
🫡🫡🫡
WOW Interesting Video. if possible directory code copy in main package not build package
Than You for that tutorial. Let the peace be with You.
In addition to what you said, Launched Effect is also used to execute Coroutines in the background since it provides a CoroutineScope.
Nice explanation!
I was taught that the next developer to read my code might be a homicidal maniac who knows where I live, and I should write code that wont give them a reason to use that information. In this age of high performance compute resources, readability is a whole lot more important than those few microseconds you can catch by making the code more cryptic.
This is my first time watching one of your videos. I wanted to see what the three tips are quickly because I don't know you and I don't want to waste much time watching someone I don't know, so I looked for chapters, but there are no chapters. I then looked in the description, but there weren't any bullet points. I then decided it wasn't worth watching a five minute video to find out what random ideas random guy has, so I decided to leave. But before that I left this comment so that you can know why I bounced off your channel, because even though I have limited time and attention, I still genuinely wish you the best of luck with your channel. Another great coding channel is always welcome.
I concur
When thinking of algorithms or structure i turn off the music
Which means its a distraction 🫡
Wow, well explained
Awesome tips, thank you.
My pleasure 😁
Maybe we'll work together in My project 🎉
Your playlist abou tests seems very cool, I am goin to be watching ot soon.
Hello! Do you think that, in the simple casese where we don't need a complex hierarchy, sealed classes and sealed interfaces are interchageable? I'm working on a project where developers tend to migrate from sealed classes to sealed interface for the sole purpose of sparing a couple of parenthesis. In my mind, the interface approach is more appropriate when there's behaviours (rather than properties) than need to be shared, so it leads to unproductive discussions :) It seems that Kotlin basically provides 2 ways to achieve very similar results, but they both stem from different concepts at the Java level. What do you think about this?
Unfortunately, 😕 I'd say languages as basic as Python have better lambda syntax. Wth was the language designer thinking with this whole caller{ } Syntax??? Why not just do caller({ }) ??