Pytania otagowane jako idioms

Idiom programowania to sposób na przezwyciężenie ograniczeń języka programowania i / lub napisanie powszechnie używanego kodu w celu oddzielonym od dosłownego znaczenia kodu. Idiom jest również preferowanym sposobem pisania kodu, gdy istnieje więcej niż jeden oczywisty sposób na zrobienie tego.

30
var functionName = function () {} vs function functionName () {}
Niedawno zacząłem utrzymywać kod JavaScript innej osoby. Naprawiam błędy, dodaje funkcje, a także próbuję uporządkować kod i uczynić go bardziej spójnym. Poprzedni programista zastosował dwa sposoby deklarowania funkcji i nie mogę się zorientować, czy jest to uzasadnione czy nie. Dwa sposoby to: var functionOne = function() { // Some code …

30
Co zrobić, jeśli __name__ == „__main__”: zrobić?
На этот вопрос есть ответы на Stack Overflow на русском : Что делают if __name__ == „__main__”? Biorąc pod uwagę następujący kod, co to if __name__ == "__main__":robi? # Threading example import time, thread def myfunction(string, sleeptime, lock, *args): while True: lock.acquire() time.sleep(sleeptime) lock.release() time.sleep(sleeptime) if __name__ == "__main__": lock …

10
Jak poprawnie wdrożyć fabryczny wzorzec metody w C ++
Jest jedna rzecz w C ++, która od dłuższego czasu sprawia, że ​​czuję się niekomfortowo, ponieważ szczerze mówiąc, nie wiem, jak to zrobić, chociaż brzmi to prosto: Jak poprawnie wdrożyć metodę fabryczną w C ++? Cel: umożliwienie klientowi utworzenia instancji jakiegoś obiektu przy użyciu metod fabrycznych zamiast konstruktorów obiektu, bez …


9
Jak mogę przejść przez mapę C ++ map?
Jak mogę zapętlić std::mapw C ++? Moja mapa jest zdefiniowana jako: std::map< std::string, std::map<std::string, std::string> > Na przykład powyższy kontener zawiera takie dane: m["name1"]["value1"] = "data1"; m["name1"]["value2"] = "data2"; m["name2"]["value1"] = "data1"; m["name2"]["value2"] = "data2"; m["name3"]["value1"] = "data1"; m["name3"]["value2"] = "data2"; Jak mogę przejść przez tę mapę i uzyskać dostęp …

23
Idiom Pythona, aby zwrócić pierwszy element lub Brak
Jestem pewien, że istnieje prostszy sposób na zrobienie tego, co po prostu mi się nie zdarza. Nazywam wiele metod, które zwracają listę. Lista może być pusta. Jeśli lista nie jest pusta, chcę zwrócić pierwszą pozycję; w przeciwnym razie chcę zwrócić Brak. Ten kod działa: my_list = get_list() if len(my_list) > …

30
Jak odwrócić tablicę int w Javie?
Czy nie można ominąć stosu przepełnienia stosu w : как перевернуть массив в Джаве? Próbuję odwrócić tablicę int w Javie. Ta metoda nie odwraca tablicy. for(int i = 0; i < validData.length; i++) { int temp = validData[i]; validData[i] = validData[validData.length - i - 1]; validData[validData.length - i - 1] …
238 java  arrays  idioms  idiomatic 

21
Jaki jest pythonowy sposób wykrywania ostatniego elementu w pętli „for”?
Chciałbym znać najlepszy sposób (bardziej zwarty i „pytoniczny”), aby wykonać specjalne traktowanie ostatniego elementu w pętli for. Istnieje fragment kodu, który powinien być wywoływany tylko między elementami, w ostatnim jest tłumiony. Oto jak obecnie to robię: for i, data in enumerate(data_list): code_that_is_done_for_every_element if i != len(data_list) - 1: code_that_is_done_between_elements Czy …

16
Python: najbardziej idiomatyczny sposób konwersji None na pusty ciąg?
Jaki jest najbardziej idiomatyczny sposób na wykonanie następujących czynności? def xstr(s): if s is None: return '' else: return s s = xstr(a) + xstr(b) aktualizacja: Włączam sugestię Trypticha, aby użyć str (s), co sprawia, że ​​ta rutynowa działa dla innych typów oprócz ciągów. Jestem pod ogromnym wrażeniem sugestii lambda …
156 string  python  idioms 



9
Pary z jednej listy
Często znajdowałem potrzebę przetwarzania listy parami. Zastanawiałem się, jaki byłby pythonowy i skuteczny sposób na zrobienie tego, i znalazłem to w Google: pairs = zip(t[::2], t[1::2]) Wydawało mi się, że to dość pythonowe, ale po niedawnej dyskusji na temat idiomów i wydajności zdecydowałem się na kilka testów: import time from …
100 python  list  zip  slice  idioms 


3
Łączenie ciągów z Groovym
Jaki jest najlepszy (idiomatyczny) sposób łączenia ciągów znaków w Groovy? Opcja 1: calculateAccountNumber(bank, branch, checkDigit, account) { bank + branch + checkDigit + account } Opcja 2: calculateAccountNumber(bank, branch, checkDigit, account) { "$bank$branch$checkDigit$account" } Założyłem interesujący punkt na ten temat na starej stronie Groovy: Rzeczy, które możesz zrobić, ale lepiej …


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.