| |
| ▲ | sebastiennight 3 hours ago | parent | next [-] | | It also seeps into all documents and artefacts it creates. Claude will include actual comments ("// ...") into Excel sheets, and include the thinking that led to the output, instead of just focusing on the final result. So if Claude questioned whether a vendor should be replaced, and you said "oh no, they are critical and we're already negotiating a great price") you'll now need to be careful to not send your vendor a document that contain text like ("Cost: X. // Management confirmed to not fire this vendor as they are critical to infrastructure and a better price will be negotiated later") | |
| ▲ | ACS_Solver 4 hours ago | parent | prev | next [-] | | I also suspect comments are very much tied to how Claude reasons because not only are they bad comments, I can't get rid of them. Commenting is the one area in which I've been unable to get Claude to respect any rules. It can follow code conventions I prefer, it can do other things, but it can't keep the comment volume down. My CLAUDE.md has rules about not including any redundant comments in the code that are obvious from the code itself. I reiterate that occasionally while working. It's absolutely disregarded and any Claude-written code is full of comments. Some of them are simply redundant, like "Collect Foos and pass them to the requested sink" on a function that's void CollectFoos(IFooSink sink). But worse, many comments include in the moment reasoning like "added parameter bar because we can no longer use the frob to automatically derive bar". That's stuff for a commit message, or just a mental note, and absolutely not for comments. I haven't found any way to stop Claude from doing these, so I have to tell Claude afterwards to clean the comments up. Which it does, making a note in memory to comment less, and it still does the exact same thing next time. | | |
| ▲ | droserasprout 2 hours ago | parent | next [-] | | > Commenting is the one area in which I've been unable to get Claude to respect any rules. Exactly my experience! Since the release of Opus 5, no amount of instructions helps. In CLAUDE.md, in a separate file, in memory, as brief bullets, as long detailed guides, with reasoning from medium to max — nothing. Even worse, recently, after getting another opus in a tiny bugfix session, I prompted directly, "drop the comments from the current code changes" — Claude instead just slightly trimmed them. I couldn't believe my eyes. I have a relatively low bar for prose, could live with some junk. But Claude's comments are _poisonous_. They always require maintenance, instantly become out of sync with the actual code, and are a token black hole — for all agents, but especially for Claude itself. Gave up and canceled Anthropic subscription yesterday. To my taste, it has become unusable for coding. | | |
| ▲ | ACS_Solver an hour ago | parent [-] | | > Even worse, recently, after getting another opus in a tiny bugfix session, I prompted directly, "drop the comments from the current code changes" — Claude instead just slightly trimmed them. I couldn't believe my eyes. For me, Claude knows how I want the comments due to all the memories and CLAUDE.md, so funnily it's now enough with even a brief groan from me like "Come on, the comments" and then Claude goes through its recent additions and fixes comments quite well per my long-term instructions. But only ever during an extra pass that I initiate, never during the initial writing of the code. |
| |
| ▲ | the_af 3 hours ago | parent | prev [-] | | > But worse, many comments include in the moment reasoning like "added parameter bar because we can no longer use the frob to automatically derive bar". That's stuff for a commit message, or just a mental note, and absolutely not for comments. I've noticed this a lot, and before your remark I couldn't put my finger on what was wrong. Now I know: Claude is writing its thought processes and maybe parts of the conversation it had with you as comments in the code! I always end up manually trimming those comments, which is cumbersome. | | |
| ▲ | ryandrake 2 hours ago | parent [-] | | It also loves to reference internal notes and scratch docs that never go into source control, so a reader will have no idea what it’s talking about. For example: // load_tree() loads the binary tree with data, but only the recently updated data, not all data (INTERNAL_NOTES.md section 4)
Ok but nobody reading the source code knows what this doc is. You don’t have to cite it. |
|
| |
| ▲ | tharkun__ 4 hours ago | parent | prev [-] | | I'm not sure why you all have issues with CC commenting too much. My rules in the CLAUDE.md specify that comments are evil, never comment unless there is an actual need to explain a WHY and since I do read what CC writes, if I spot it still adding such WHY comments and they make no sense, I'll have it adjust, in many cases by removing them. Given the code base has a minimal amount of such comments, it's also less likely to go "copy what the rest of the codebase does". Of course I've now jinxed it and some update will cause it to ignore the instructions coz I didn't write them in the new model's style or something. | | |
| ▲ | troupo 40 minutes ago | parent [-] | | As the context fills up the models will happily firget and ignore any number of any sections of your CLAUDE.md/AGENTS.md. Edit: I've had explicit instructions for communication style in CLAUDE.md, in Claude's project "memory", in global "memory", in "skills": it couldn't care less where it was. It would just ignore it. When I would point this out it would just say "Yes, I violated communication guidelines, I won't do that again". Only to do that again in the next session. This applies to everything: code guidelines, communication guidelines, preferences, decisions etc. |
|
|