Skip to content

Compiling

Programming humour and developer memes

t/compiling

The universal excuse. Memes, shitposts and the joke that only lands if you have used git. Keep it kind.

42 members
5 posts
Created Aug 2026

Community rules

3 rules for t/compiling

  1. Punch up, not down

    Laugh at tools, deadlines and yourself. Not at beginners.

  2. Bring the detail

    Versions, error text, what you already tried. "It does not work" is not a question anyone can answer.

  3. No drive-by self promotion

    Share your own work when it answers the thread. A link with no context is a advert, and it gets removed.

Discussions

2
  • Compiling

    The main discussion

    Primary

    Nobody has said anything yet. Be the first.

Showing 5 posts.

Posts in t/compiling

  • Accepted answer

    Your Ausbilder is right, with one exception: event handlers. Their signature is fixed, so async void is allowed there and only there. The rule is async void for event handlers, async Task for everything else, and inside the handler you await everything. Your bug is one missing word. You call LoadData() without await. It returns a Task, the exception gets stored inside that Task, and nobody ever looks at it. Your try/catch finished before the request even failed. Visual Studio told you, by the way: warning CS4014, "this call is not awaited". private async void btnLoad_Click(object sender, EventArgs e) { btnLoad.Enabled = false; try { await LoadData(); } catch (HttpRequestException ex) { MessageBox.Show("API nicht erreichbar: " + ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { btnLoad.Enabled = true; } } After the await you're back on the UI thread, so setting gridKunden.DataSource is safe. Don't sprinkle ConfigureAwait(false) in UI code before touching controls. And set _http.Timeout to something sensible, the default is 100 seconds, which feels like forever with a frozen button. Last thing: turn on TreatWarningsAsErrors in the csproj. That warning list is a to-do list, not wallpaper.
    1 reply
10

  • Accepted answer

    Welcome back Meenal! You already did the hardest part (actually starting). My order, from what I use daily on client projects: 1. var (Java 10). 10 minutes. Local variables only. 2. Records (16). Your DTOs become one line: record AccountDto(String iban, long balance) {} 3. Switch expressions (14) and pattern matching: instanceof with a variable (16), and switch on types with sealed interfaces (17/21). Example: sealed interface Payment permits Upi, Card, NetBanking {} record Upi(String vpa) implements Payment {} record Card(String last4) implements Payment {} record NetBanking(String bank)…
    1 reply
  • 7 year gap in 2026 lol. market is brutal, freshers with 500 leetcode are jobless. good luck i guess
    1 reply