Dobra znajomość języka programowania - co się pod tym kryje?

0

Co oznacza formułka "dobra znajomość języka x"? Umiejętność których elementów języka wpływa na fakt, że możemy stwierdzić, że znamy ten język? Głównie chodzi mi o języki C#, Java.

0

Znajomość biblioteki standardowej, co najmniej jednego frameworka tegoż języka i dobrej znajomości sieci.

5

To znaczy ze nie zastanawiasz się "jak" coś zrobić z punktu widzenia języka a jedynie "co" zrobić i "jak" z punktu widzenia architektury.
Jeśli np. nie umiesz napisać z palca jakiejś generycznej klasy w Javie czy generycznej metody, albo nie umiesz skorzystać z jakiegoś innego mechanizmu języka, to znaczy że go dobrze nie znasz. Jeszcze gorzej kiedy nawet nie wiesz ze taki mechanizm istnieje...

0

Robić krócej**,** a mądrzej**. Dla przykładu.** Taki kod z mojego programu**,** rozwijanego w wolnym czasie [ZŁY KOD]:

if (partCache.containsKey(index)) {
    HashMap<String, Integer> data = partCache.get(index);
    data.put(name, data.containsKey(name) ? data.get(name) +1 : 1 );
} else {
    HashMap<String, Integer> value = new HashMap<String, Integer>();
    value.put(name, 1);
    partCache.put(index, value);
}

Można z powodzenie zastąpić takim kodem**:**

  if (!partCache.containsKey(index))
       partCache.put(index, new HashMap<String, Integer>());

  HashMap<String, Integer> data = partCache.get(index);
  data.put(name, data.containsKey(name) ? data.get(name) +1 : 1 );

Robi**,** to same a kodu jakby mniej i bardziej czytelny jest**,** Prawda**.**

0
data.containsKey(name) ? data.get(name) +1 : 1 

Ale caly czas nie wiem czemu +1 niestety.

1

@Jarema1980 no akurat ty pokazałeś ksiażkowy przykład kiedy ktoś ma slabą znajomość języka programowania. Bo ten kod można zapisać dużo prościej, a ty nawet nie zdajesz sobie z tego sprawy ;)

partCache.putIfAbsent(index, new HashMap<String, Integer>());
Map<String, Integer> data = partCache.get(index);
data.putIfAbsent(name, data.getOrDefault(name, 0) + 1);

i nagle nie mamy już w swoim kodzie zadnych ifów ani wyrażeń warunkowych!

1 użytkowników online, w tym zalogowanych: 0, gości: 1