Something

what you should avoid and learn from in kotlin

APACHE-2.0 License

Stars
18

Something to avoid and learn

๐Ÿ’ก About Project

This project showcases common mistakes in Kotlin programming and alternate approaches to avoid them, as well as useful learnings and techniques.

๐Ÿš€ Quick Start

  1. Clone the repository:
    git clone https://github.com/ArjunJadeja/Something.git
    
  2. Open the project in your favorite IDE.
  3. Explore the mistakes and learnings folders.

๐ŸŽ“ Mistakes

Here's a list of the mistakes added:

  1. Uninitialized Properties
  2. Null Safety
  3. Unsafe Casting
  4. Nullable Collections
  5. Custom Getters
  6. Lambda Variable Shadowing

๐Ÿ“š Learnings

Here's what we've learned so far:

  1. Using then with Modifier in Jetpack Compose

๐Ÿ“ Project Structure

The project is organized into mistakes and learnings folders, each containing specific examples.

Something/
โ”œโ”€โ”€ src/
โ”‚   โ””โ”€โ”€ main/
โ”‚       โ””โ”€โ”€ kotlin/
โ”‚           โ”œโ”€โ”€ Main.kt
โ”‚           โ”œโ”€โ”€ Something.kt
โ”‚           โ”œโ”€โ”€ mistakes/
โ”‚           โ”‚   โ”œโ”€โ”€ CustomGetter.kt
โ”‚           โ”‚   โ”œโ”€โ”€ LambdaVariableShadowing.kt
โ”‚           โ”‚   โ”œโ”€โ”€ NullSafety.kt
โ”‚           โ”‚   โ”œโ”€โ”€ NullableCollection.kt
โ”‚           โ”‚   โ”œโ”€โ”€ UninitializedProperties.kt
โ”‚           โ”‚   โ””โ”€โ”€ UnsafeCasting.kt
โ”‚           โ””โ”€โ”€ learnings/
โ”‚               โ””โ”€โ”€ ThenWithComposeModifier.kt
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ LICENSE
โ”œโ”€โ”€ README.md
โ””โ”€โ”€ build.gradle.kts

๐ŸŽฏ Future Goals

The goal is to continuously learn and grow from real-world mistakes and discoveries.

๐Ÿ—บ๏ธ Roadmap

There's no fixed roadmap for this project. The approach is to:

  1. Add new learnings and mistakes as we encounter them.
  2. Welcome contributions from the community.

๐Ÿค Contributing

Contributions from Kotlin developers of all experience levels are welcomed! Whether you're a beginner or an experienced developer, your contribution can help others learn.

Please check our Contribution Guidelines for more details on how to contribute.

โญ Show Your Support

If you find this project helpful, please give it a star on GitHub. It helps others discover this resource!

๐Ÿ”— Connect

Feel free to connect with me:

Arjun Jadeja - LinkedIn

๐Ÿ“š Additional Resources

Happy coding, and remember: every mistake and learning is an opportunity! ๐Ÿš€

๐Ÿ“„ License

Copyright (C) 2024 Arjun Jadeja (arjunjadeja.com)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Badges
Extracted from project README's
License Kotlin Weekly GitHub
Related Projects