Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Change the confusing parameter position to a clear name. #637 #638

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

JSpiner
Copy link

@JSpiner JSpiner commented Oct 16, 2024

Thank you for opening a Pull Request!


Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

  • Make sure to open a GitHub issue as a bug/feature request before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
  • Ensure the tests and linter pass
  • Code coverage does not decrease (if any source code was changed)
  • Appropriate docs were updated (if necessary)

Fixes #637 🦕

It may be confusing that it is automatically updated by the position parameter. I renamed it to initialPosition to make it clear that it only works with the initial value.
(The compose foundation libraries also add the init prefix to the initial values ​​that go into rememberXXX.)

Copy link

google-cla bot commented Oct 16, 2024

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@JSpiner JSpiner force-pushed the main branch 2 times, most recently from 7c63b15 to 34a1a7d Compare October 16, 2024 05:47
@JSpiner JSpiner changed the title Change the confusing parameter position to a clear name. #637 chore: Change the confusing parameter position to a clear name. #637 Nov 4, 2024
@JSpiner
Copy link
Author

JSpiner commented Nov 4, 2024

I resolved the conflict.

@kikoso
Copy link
Collaborator

kikoso commented Dec 2, 2024

Hi @JSpiner . This is a reasonable proposal. Typically we would like to not drop a breaking change, but to propose a transition time for folks to change.

I think we could offer an alternative constructor to the current one, deprecate the former and leave folks one version to upgrade to the new one. We could eventually pack this PR with another breaking change.

*/
@StateFactoryMarker
public operator fun invoke(
position: LatLng = LatLng(0.0, 0.0)
): MarkerState = MarkerState(position)
initialPosition: LatLng = LatLng(0.0, 0.0)
Copy link
Contributor

@bubenheimer bubenheimer Dec 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see the rationale for changing the parameter name here. Makes sense for rememberMarkerState, but not here. If you end up recomposing MarkerState.invoke(position) you will get a new MarkerState object.

It may look tempting because of the "initial marker position" KDoc verbiage, but that's how State objects generally work, including MutableState. It's mutableStateOf(value="bla").

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature request] Change the confusing markerState parameter position to a clear name.
4 participants