Skip to content

Instantly share code, notes, and snippets.

View vani2's full-sized avatar

Ivan Vavilov vani2

View GitHub Profile
@vani2
vani2 / gist:37d5eaea247b8723e6cc
Created April 29, 2015 13:15
Just sample of multi-thread in C
typedef struct {
char *str;
int size;
int counter[256];
} thread_args;
void* threadFunc(void *args) {
thread_args *params = (thread_args *) args;
for (int i = params->size/2; i < params->size; i++) {
//#1 Перенос по оператору, оператор в конце строки
if true &&
false &&
"asd" > "asd" {
// ...
}
//#2 Перенос по оператору, оператор в начале строки
//#1 Первый параметр на одной строке с именем метода, круглые скобки примыкают к параметрам
abc(parameter: "asd",
closure: {
// ...
})
//#2 Первый параметр на новой строке, закрывающая круглая скобка примыкает к параметру
abc(
parameter: "asd",
//#1 Возвращаемый тип идёт сразу за закрывающей круглой скобкой
func abc() -> Int {
//...
}
//#2 Возвращаемый тип идёт отдельной строкой
func abc()
-> Int {
//...
//#1 Круглые скобки примыкают к параметрам
func abc(a: String,
b: Int)
//#2 Круглые скобки не примыкают к параметрам
func abc(
a: String,
b: Int
)
//#1 Запретить trailing closure
[""].filter({ ... })
//#2 Запретить trailing closure для методов, возвращающих Void
let sortedArray = [""].sorted { ... }
mutableArray.sort({ ... })
//#3 Разрешить trailing closure только для методов, где больше нет параметров (т.е. нет круглых скобок при вызове)
//#1 Указывам
let url: NSURL = FileWriter.main.fileURL
//#2 Не указываем
let url = FileWriter.main.fileURL
//#1 Не указываем
service.searchWithKeyword(keyword,
offset: offset,
limit: limit,
completion: { result in
//...
}
failure: { error in
//...
})
//#1
guard
let data = ...,
let image = ...
else {
//...
return
}
@vani2
vani2 / RealmDAORelationshipsExample.swift
Last active February 17, 2017 07:41
RealmDAO relationships
// Realm
// сущности (у Message нет ссылки на Folder)
class Folder: Entity {
var name: String?
var messages: [Message]?
//...
}