Skip to content

Instantly share code, notes, and snippets.

View hlayan's full-sized avatar
🌱
Steadily

Hlayan Htet Aung hlayan

🌱
Steadily
View GitHub Profile
@hlayan
hlayan / DefaultNavHost.kt
Created January 15, 2024 03:44
Share ViewModel Between Composable
@Composable
fun DefaultNavHost(
modifier: Modifier = Modifier
) {
val navController = rememberNavController()
NavHost(
navController = navController,
startDestination = HOME_ROUTE,
modifier = modifier,
@hlayan
hlayan / Event.kt
Last active September 1, 2024 15:35
Single Event Solution for Kotlin Flow and Compose
class Event<out T>(private val _value: T?) {
private val used = AtomicBoolean(false)
val value: T? get() = if (used.compareAndSet(false, true)) _value else null
}
val EmptyEvent get() = Event(null)
typealias FlowEvent<T> = StateFlow<Event<T>>
@hlayan
hlayan / GitCommitBestPractices.md
Created November 4, 2022 08:48 — forked from luismts/GitCommitBestPractices.md
Git Tips and Git Commit Best Practices

Git Commit Best Practices

Basic Rules

Commit Related Changes

A commit should be a wrapper for related changes. For example, fixing two different bugs should produce two separate commits. Small commits make it easier for other developers to understand the changes and roll them back if something went wrong. With tools like the staging area and the ability to stage only parts of a file, Git makes it easy to create very granular commits.

Commit Often

Committing often keeps your commits small and, again, helps you commit only related changes. Moreover, it allows you to share your code more frequently with others. That way it‘s easier for everyone to integrate changes regularly and avoid having merge conflicts. Having large commits and sharing them infrequently, in contrast, makes it hard to solve conflicts.