Repository navigation
[Refact: Phase 0 - 0.1] Rename the Experiment.java - #108
shresthajibesh wants to merge 6 commits into
Conversation
Rename Experiment.java to ExperimentActivity.java
|
Sorry, but I do not think that this approach is a good idea. I really appreciate your effort and I still appreciate that you tried to do this manually last year, but a few things have changed since then. A year ago I saw this refactor as something that I would not find the time for and I would have happily accepted a refactor, but AI models have gotten so good in the meantime that I am not only beginning to use them heavily in the development, but I would trust the good ones with this job. I have a proper workflow with a CLAUDE.md that defines the interdependency of all projects (for example, the file format that needs to match for Android, iOS, the editor, the experiment definitions, the Arduino library and the MicroPython library) and defines a massive set of automated tests (some of which were run here, but they extend to real hardware, too) as well as many rules (like not touching UI layout unless necessary to not destroy teacher's worksheets). I should probably commit it as AGENTS.md (I just had not as I would like to make it tool-agnostic and not advertise Claude specifically - although you can see from my commits that I am transparent with its use). Your AI (and unfortunately I can only tell that you used OpenCode, but model info was stripped) did not capture many of these details. In fact, telling from the specs it wrote, I am not even sure if it noticed that experiment UI is generated dynamically from XML files. There are really many details in there that would make me worry about a robust refactor. At the moment, only Fable 5.1 convinced me so far to trust it with such a big refactor. Opus 5.1 was not up to the task (caught it several times with code duplication and similar issues), but Opus 5.5 currently is quite promising to be a cost-efficient replacement for Fable. But I am still testing it with smaller tasks before attempting a refactor with it. However, with Fable 5.1 I already did a full refactor of the Bluetooth engine and it worked almost prefectly. The point of this detail is that refactoring by now has become something that I plan to do eventually and that I can do confidently with AI assistance. There is little point in having someone else doing this with an AI, so I would review it with my AI and feed my indepth knowledge about phyphox in later when hopefully my AI caught issues. The PRs you just sent (and closed presumably because the CI failed on the first try) show how tricky this already is for something that should be a simple rename. So, please understand that I prefer to do this with my own tools when I have a few days to spare and when I have Fable available again (currently downgraded it to save some cost) or gained enough trust in Opus 5.5. So, thanks again for your effort - I really appreciate it - but things have changed so much and unexpectedly with the latest models. |
Description
Setup Open specs refactoring.
Renames the
Experiment.javaclass and its references.ℹ️ No logic change has been introduced only the file
Motivation
The Activity class representing
ExperimentActivitywas misleadingly namedExperimenthinting itself to be a model representation class of an experiment, when in truth it is an activity for a particular experiment.This rename now unlocks us from creating an experiment model class, required down the line in refactoring the code base.
Testing: o logic change